1. DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
  1. DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)
  2.  
  3. // 设置下拉框 传入参数(需要设置的下拉框控件,查询的语句,默认第一行的内容)
  4. public static void SetComboList(DevExpress.XtraEditors.ComboBoxEdit ComboList, string QuerySQL, string FirstRowText = "",bool bSelectFirstItem=false)
  5. {
  6. DataTable dtList=null;
  7. try
  8. {
  9. dtList = sqlHelper.ExecuteDataTable(Common.ConnString, CommandType.Text, QuerySQL, null);
  10. }
  11. catch (Exception ex)
  12. {
  13. frm0201.DisplayMsg("数据访问异常:", ex.Message.ToString());
  14. return;
  15. }
  16.  
  17. int intCount = (dtList!=null) ? dtList.Rows.Count : ;
  18. ComboList.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; // 设置 comboBox的文本值不能被编辑
  19. ComboList.Properties.Items.Clear();
  20. if (!string.IsNullOrEmpty(FirstRowText)) ComboList.Properties.Items.Add(FirstRowText);
  21.  
  22. if (intCount > )
  23. {
  24. for (int i = ; i < intCount; i++)
  25. {
  26. ComboList.Properties.Items.Add(dtList.Rows[i][].ToString());
  27. }
  28. }
  29. if (bSelectFirstItem) ComboList.SelectedIndex = ; // 设置选中第1项
  30. }
  31.  
  32. //设置下拉框 loe 为下拉框名, sSql 为下拉框的数据来源
  33. public static void SetLookUpList(ref DevExpress.XtraEditors.LookUpEdit loeSource, string strSQL, int ValueCol = , int NameCol = ,DataTable dtSource=null,bool bSelectFirstItem=false,string sFirstRowText="")
  34. {
  35. DataTable dt =null;
  36.  
  37. try
  38. {
  39. if (!string.IsNullOrEmpty(strSQL))
  40. {
  41. dt = sqlHelper.ExecuteDataTable(Common.ConnString, CommandType.Text, strSQL, null);
  42. }
  43. else if (dtSource != null)
  44. {
  45. dt = dtSource.Copy();
  46. }
  47. }
  48. catch (Exception ex)
  49. {
  50. frm0201.DisplayMsg("数据访问异常:", ex.Message.ToString());
  51. return;
  52. }
  53.  
  54. loeSource.Properties.Columns.Clear();
  55. loeSource.Properties.DataSource = null;
  56.  
  57. if (dt!=null && dt.Rows.Count > && dt.Columns.Count > ) // 一般为2列: id列 和 value 列
  58. {
  59. loeSource.Properties.Columns.Add(new LookUpColumnInfo(dt.Columns[ValueCol].ColumnName.ToString()));
  60. loeSource.Properties.Columns[ValueCol].Visible = false; // 隐藏id列
  61. loeSource.Properties.Columns.Add(new LookUpColumnInfo(dt.Columns[NameCol].ColumnName.ToString()));
  62.  
  63. if (!string.IsNullOrEmpty(sFirstRowText))
  64. {
  65. DataRow dr = dt.NewRow();
  66. dr[dt.Columns[ValueCol]] = -; // 这一项的 ID 值为 -1
  67. dr[dt.Columns[NameCol]] = sFirstRowText;
  68. dt.Rows.InsertAt(dr, );// 从索引为0的位置插入
  69. }
  70.  
  71. loeSource.Properties.DataSource = dt;
  72. loeSource.Properties.ValueMember = dt.Columns[ValueCol].ColumnName; // 对应ID
  73. loeSource.Properties.DisplayMember = dt.Columns[NameCol].ColumnName; // 显示内容
  74.  
  75. if (bSelectFirstItem) // 是否选中第一项
  76. {
  77. int iID=;
  78. if(Int32.TryParse(dt.Rows[][].ToString(),out iID))
  79. {
  80. loeSource.EditValue = iID;
  81. }
  82. }
  83. }
  84.  
  85. loeSource.Properties.ShowHeader = false;
  86. loeSource.Properties.ShowFooter = false;
  87. loeSource.Properties.NullText = "";
  88. }
  89.  
  90. // 得到下拉框 的内容项,以Keys.Tab拼成一个字符串
  91. public static string GetComboList(string sQuerySQL)
  92. {
  93. try
  94. {
  95. DataTable dtList = sqlHelper.ExecuteDataTable(Common.ConnString, CommandType.Text, sQuerySQL, null);
  96. if (dtList!=null && dtList.Rows.Count > && dtList.Columns.Count == ) // 有数据且只有一列
  97. {
  98. string sResult = string.Empty;
  99. for (int i = ; i < dtList.Rows.Count; i++)
  100. {
  101. sResult += dtList.Rows[i][].ToString() + Convert.ToChar(Keys.Tab);
  102. }
  103.  
  104. if (sResult.Length > )
  105. {
  106. sResult = sResult.Remove(sResult.Length - );
  107. }
  108. return sResult;
  109. }
  110. }
  111. catch (Exception ex)
  112. {
  113. XtraMessageBox.Show(ex.Message.ToString());
  114. }
  115.  
  116. return "";
  117. }

DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)的更多相关文章

  1. winform的combox下拉框绑定数据源

    List<Site> list = new List<Site>(); foreach (DataRow srcDr in srcDt.Rows) { list.Add(new ...

  2. knockoutjs foreach array绑定 表格 下拉框绑定

    转载http://desert3.iteye.com/blog/1480471 knockoutjs foreach array绑定 表格 下拉框绑定 博客分类: Javascript   动态表格使 ...

  3. @Html.DropDownListFor 下拉框绑定(选择默认值)

    首先先构建绑定下拉框的数据源 private void GetSalesList() { var userList = _rmaExpressAppService.GetUserList(); Tem ...

  4. EXT学习之——Ext下拉框绑定以及级联写法

    /*******步骤有四个,缺一不可*********/ function () {xxxxxx = Ext.extend(construct, {InitControl: function () { ...

  5. vue select下拉框绑定默认值

    vue select下拉框绑定默认值: 首先option要加value值,以便v-model可以获取到对应选择的值 一.当没有绑定v-model,直接给对应的option加selected属性 二.当 ...

  6. jQ给下拉框绑定事件,为什么要绑定在框(select标签)上,而不是绑定在选项(option标签)上

    这是我在学习锋利的 jquery 书中 5.1.4 的代码时遇到的一个小问题,源代码如下: <head> <style type="text/css"> * ...

  7. 商品类型的下拉框绑定一个事件,通过ajax获取属性

    html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width=&q ...

  8. DevExpress的下拉框控件ComboBoxEdit控件的使用

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  9. Winform 下拉框绑定问题

    在Winform中下拉框绑定的时候只能读到text属性值,Id的值不管怎么搞都读取不到,所以就百度找到了一种方式: public void CmdBind() { var data = _logic. ...

随机推荐

  1. [水煮 ASP.NET Web API2 方法论](1-3)如何接收 HTML 表单请求

    问题 我们想创建一个能够处理 HTML表单的 ASP.NET Web API 应用程序(使用 application/x-www-form-urlencoded 方式提交数据). 解决方案 我们可以创 ...

  2. .net core 2.0使用NLog写日志文件

    原文地址:传送门 之前也看了 linezero 大佬写的教程,但是总是没有成功写入日志文件.按照 曲廉卿 的已成功,以下正文: 最近研究了一下NLog的使用方式,简单的入了一下门. 实现的功能,对于不 ...

  3. 360杀毒导致的 VS 报扩展错误,请查看 ActiveLog.xml

    360杀毒将 TypeScript的 tsserver.js 列为木马,结果导致VS2017启动时,总是报错,将其加为信任即可解决.

  4. shell脚本学习(五)

    流程控制 先说几个注意的地方 1)注意你是在unix下编程,注意文件的编码如果你发现报错请用notepad++打开,编辑->文档格式转换->点unix,然后再上传运行即可 2)sh的流程控 ...

  5. codis 的dashboard服务无法启动 提示pid已经运行

    ps -rf|grep pid号 ,一直查询不到,进程并没有运行, 后来在Zookeeper中发现get /zk/codis/db_gdata/dashboard 这个中存在着pid,连接到zooke ...

  6. jsp页面中获取session中的值

    Jsp中获取Session: session是jsp的内置对象,所以你可以直接写在jsp的 <% session.setAttribute("a", b); //把b放到se ...

  7. zookeeper,hadoop安装部署其实与防火墙无关

    网上查看了很多人关于hadoop,zookeeper的文章,大多都把关闭防火墙作为首要前提,个人觉得这大可不必. 首先你需要知道你部署的是什么东西,它需要哪些端口即可.把相关端口打开就可以了啊.然后把 ...

  8. 关于Spring和SpringMVC的一点感悟

    一年前,我们项目最开始使用的SSH(spring+springmvc+hibernate),那时候项目经理搭建好了框架就交给了我们,后来在一次配置事务的过程中,出现了大名鼎鼎的no seesion. ...

  9. Windows 下使用 mingw+msys 交叉编译 Android Unity Mono

    对于没有升级到 Unity5.4的用户,发布安卓版本都会有对 C# 脚本进行加密的需求,我们项目在裸奔了很长时间后,决定开始做这件事. 网上查看了很多资料,我很希望直接在 windows 下编译而不去 ...

  10. 【20181020T1】蛋糕

    题面 [正解] 显然先按a排个序,然后用b乱搞 第一问用D开头的定理求最长下降子序列 第二问乱搞 for (int i=1;i<=n;i++) { int* t=upper_bound(f+1, ...