ListControlTool.cs
上传用户:husern
上传日期:2022-03-24
资源大小:534k
文件大小:3k
源码类别:

编辑器/阅读器

开发平台:

C#

  1. // -- FILE ------------------------------------------------------------------
  2. // name       : ListControlTool.cs
  3. // project    : Itenso Web User Forms
  4. // created    : Jani Giannoudis - 2008.10.30
  5. // language   : c#
  6. // environment: .NET 2.0
  7. // copyright  : (c) 2008 by Itenso GmbH, Switzerland
  8. // --------------------------------------------------------------------------
  9. using System;
  10. using System.Text;
  11. using System.Web.UI.WebControls;
  12. namespace Itenso.WebUserForms.Controls
  13. {
  14. // ------------------------------------------------------------------------
  15. internal sealed class ListControlTool
  16. {
  17. // ----------------------------------------------------------------------
  18. public static string GetSelectionValue( ListControl listControl )
  19. {
  20. if ( listControl == null )
  21. {
  22. return null;
  23. }
  24. if ( listControl.Items.Count == 0 )
  25. {
  26. return string.Empty;
  27. }
  28. StringBuilder sb = new StringBuilder();
  29. foreach ( ListItem listItem in listControl.Items )
  30. {
  31. if ( !listItem.Selected )
  32. {
  33. continue;
  34. }
  35. if ( sb.Length > 0 )
  36. {
  37. sb.Append( itemDelimiter );
  38. }
  39. sb.Append( listItem.Value );
  40. }
  41. return sb.ToString();
  42. } // GetSelectionValue
  43. // ----------------------------------------------------------------------
  44. public static void ResetItemSelection( ListControl listControl )
  45. {
  46. SetItemSelection( listControl, false );
  47. } // ResetItemSelection
  48. // ----------------------------------------------------------------------
  49. public static void SetItemSelection( ListControl listControl, bool selected )
  50. {
  51. foreach ( ListItem listItem in listControl.Items )
  52. {
  53. listItem.Selected = selected;
  54. }
  55. } // SetItemSelection
  56. // ----------------------------------------------------------------------
  57. public static void SetSelectionValue( ListControl listControl, string value )
  58. {
  59. if ( listControl == null || string.IsNullOrEmpty( value ) )
  60. {
  61. return;
  62. }
  63. string[] itemValues = value.Split( itemDelimiter );
  64. foreach ( string itemValue in itemValues )
  65. {
  66. string trimValue = itemValue.Trim();
  67. if ( string.IsNullOrEmpty( trimValue ) )
  68. {
  69. continue;
  70. }
  71. ListItem listItem = listControl.Items.FindByValue( trimValue );
  72. if ( listItem == null )
  73. {
  74. continue;
  75. }
  76. listItem.Selected = true;
  77. }
  78. } // GetSelectionValue
  79. // ----------------------------------------------------------------------
  80. // members
  81. private const char itemDelimiter = '|';
  82. } // class ListControlTool
  83. } // namespace Itenso.WebUserForms.Controls
  84. // -- EOF -------------------------------------------------------------------