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

编辑器/阅读器

开发平台:

C#

  1. // -- FILE ------------------------------------------------------------------
  2. // name       : LookupAdapter.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.Web.UI;
  11. using System.Web.UI.WebControls;
  12. using System.Collections.Generic;
  13. using Itenso.WebUserForms.Controls;
  14. using Itenso.WebUserForms.Data.Lookup;
  15. namespace Itenso.WebUserForms.Runtime
  16. {
  17. // ------------------------------------------------------------------------
  18. public sealed class LookupAdapter
  19. {
  20. // ----------------------------------------------------------------------
  21. private LookupAdapter()
  22. {
  23. } // LookupAdapter
  24. // ----------------------------------------------------------------------
  25. public static void Apply( ILookupProvider lookupProvider, UserControl userForm )
  26. {
  27. if ( lookupProvider == null )
  28. {
  29. throw new ArgumentNullException( "lookupProvider" );
  30. }
  31. if ( userForm == null )
  32. {
  33. throw new ArgumentNullException( "userForm" );
  34. }
  35. LookupFieldCollector lookupFieldCollector = new LookupFieldCollector( userForm );
  36. lookupFieldCollector.Collect();
  37. foreach ( ILookupField lookupField in lookupFieldCollector.LookupFields )
  38. {
  39. lookupField.Items.Clear();
  40. ILookupValueCollection lookupValues = lookupProvider.GetLookup( lookupField.LookupName, null );
  41. if ( lookupValues == null )
  42. {
  43. continue;
  44. }
  45. Apply( lookupValues, lookupField );
  46. }
  47. } // Apply
  48. // ----------------------------------------------------------------------
  49. private static void Apply( ILookupValueCollection lookupValues, ILookupField lookupField )
  50. {
  51. if ( lookupValues == null )
  52. {
  53. throw new ArgumentNullException( "lookupValues" );
  54. }
  55. if ( lookupField == null )
  56. {
  57. throw new ArgumentNullException( "lookupField" );
  58. }
  59. lookupField.Items.Clear();
  60. foreach ( ILookupValue lookupValue in lookupValues )
  61. {
  62. lookupField.Items.Add( new ListItem( lookupValue.Value.ToString(), lookupValue.Key ) );
  63. }
  64. if ( lookupField.Items.Count > 0 )
  65. {
  66. lookupField.Items[ 0 ].Selected = true;
  67. }
  68. } // Apply
  69. } // class LookupAdapter
  70. } // namespace Itenso.WebUserForms.Runtime
  71. // -- EOF -------------------------------------------------------------------