DropdownListOptions.cs 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Bowin.Web.Controls.Mvc
  6. {
  7. /// <summary>
  8. /// 下拉菜单的配置类
  9. /// </summary>
  10. public class DropdownListOptions:BaseFormControlOptions
  11. {
  12. /// <summary>
  13. /// 下拉菜单的配置类
  14. /// </summary>
  15. public DropdownListOptions()
  16. {
  17. ItemList = new List<DropdownListItem>();
  18. IsEditable = false;
  19. IsMultiple = false;
  20. Validator = null;
  21. }
  22. ///// <summary>
  23. ///// 下拉菜单的Change事件触发后要关联刷新的控件ID(仅支持EasyUI控件)
  24. ///// <para>多个控件之间用','符号分隔</para>
  25. ///// <para>相关属性:ReloadSource</para>
  26. ///// </summary>
  27. //public string Reload { get; set; }
  28. ///// <summary>
  29. ///// 自定义被关联控件的数据加载地址
  30. ///// <para>不设置则使用控件自带源地址加载数据</para>
  31. ///// <para>多个控件之间用','符号分隔</para>
  32. ///// </summary>
  33. //public string ReloadSource { get; set; }
  34. ///// <summary>
  35. ///// 传递至数据加载地址的数据参数(支持调用函数输出)
  36. ///// <para>格式:</para>
  37. ///// <para>{ name1 : value1 , name2 : value2 }</para>
  38. ///// </summary>
  39. //public string ReloadData { get; set; }
  40. /// <summary>
  41. /// 选中值,该值会在控件加载时默认选中,
  42. /// 当控件使用默认值作为查询条件时,需要同时配置OnLoadSuccess事件以确保默认值成功加载后再刷新数据列表
  43. /// </summary>
  44. public object SelectedValue
  45. {
  46. get;
  47. set;
  48. }
  49. /// <summary>
  50. /// 下拉项列表,可以直接用此种方式绑定控件
  51. /// </summary>
  52. public List<DropdownListItem> ItemList
  53. {
  54. get;
  55. set;
  56. }
  57. /// <summary>
  58. /// 下拉项数据源,如果指定下拉项列表,可通过异步访问该地址,读取返回的数据源绑定,指定该方式访问,需同时配置TextField和ValueField
  59. /// </summary>
  60. public string ItemSourceUrl
  61. {
  62. get;
  63. set;
  64. }
  65. /// <summary>
  66. /// 下拉项数据源的显示文本字段名
  67. /// </summary>
  68. public string TextField
  69. {
  70. get;
  71. set;
  72. }
  73. /// <summary>
  74. /// 下拉项数据源的隐藏值字段名
  75. /// </summary>
  76. public string ValueField
  77. {
  78. get;
  79. set;
  80. }
  81. /// <summary>
  82. /// 指定一个脚本函数名,该函数用于确定下拉项呈现的方式,
  83. /// 输出样式转换方法,如下
  84. /// function formatItem(row){
  85. /// var s = '<span style="font-weight:bold">' + row.text + '</span><br/>' +
  86. /// '<span style="color:#888">' + row.desc + '</span>';
  87. /// return s;
  88. ///}
  89. /// </summary>
  90. public string Formatter
  91. {
  92. get;
  93. set;
  94. }
  95. /// <summary>
  96. /// 指定一个脚本函数名,该函数在下拉项被选中时触发,函数格式样例如下:
  97. /// function(rec){
  98. /// var url = 'get_data2.php?id='+rec.id;
  99. /// $('#cc2').combobox('reload', url);
  100. /// }
  101. /// </summary>
  102. public string OnSelect
  103. {
  104. get;
  105. set;
  106. }
  107. /// <summary>
  108. /// 指定一个脚本函数名,该函数在控件选中值被改变时触发,函数格式样例如下:
  109. /// function(rec){
  110. /// var url = 'get_data2.php?id='+rec.id;
  111. /// $('#cc2').combobox('reload', url);
  112. /// }
  113. /// </summary>
  114. public string OnChange { get; set; }
  115. /// <summary>
  116. /// 指定一个脚本函数名,该函数在取消选择一项时触发
  117. /// </summary>
  118. public string OnUnselect { get; set; }
  119. /// <summary>
  120. /// 指定一个脚本函数名,该函数在所有下拉项加载完成后触发,函数格式样例如下:
  121. /// function(data){
  122. /// ...
  123. /// }
  124. /// </summary>
  125. public string OnLoadSuccess
  126. {
  127. get;
  128. set;
  129. }
  130. /// <summary>
  131. /// 指定一个脚本函数名,该函数在所有下拉项加载前触发
  132. /// </summary>
  133. public string OnBeforeLoad { get; set; }
  134. /// <summary>
  135. /// 绑定类型,有三种方式,一般情况下,作为列表查询条件时,使用SelectAll,默认项显示"全部";
  136. /// 作为明细页面编辑控件时,使用PleaseSelect,默认项显示"请选择";
  137. /// 部分页面因为要求用户必须选择一个选项,例如报表的周期,这时候使用None,不显示默认项
  138. /// </summary>
  139. public DropdownListBindType BindType { get; set; }
  140. /// <summary>
  141. /// 当指定ItemSourceUrl时,可以从这里传入参数
  142. /// </summary>
  143. public Dictionary<string, string> UrlParameters { get; set; }
  144. /// <summary>
  145. /// 控件的宽度,如果大于1,则以px为单位,如果小于1,则是代表百分比,如0.3代表30%
  146. /// </summary>
  147. public int? Width { get; set; }
  148. /// <summary>
  149. /// 控件的高度,如果大于1,则以px为单位,如果小于1,则是代表百分比,如0.3代表30%
  150. /// </summary>
  151. public int? Height { get; set; }
  152. /// <summary>
  153. /// 是否可编辑
  154. /// </summary>
  155. public bool? IsEditable { get; set; }
  156. /// <summary>
  157. /// 是否可多选
  158. /// </summary>
  159. public bool? IsMultiple { get; set; }
  160. }
  161. }