DevExpress:下拉框绑定数据源 (ComboBoxEdit,LookUpEdit)

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

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

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

首先先构建绑定下拉框的数据源 private void GetSalesList() { var userList = _rmaExpressAppService.GetUserList(); TempData["RMASalesList"] = new SelectList(userList, "Id", "UserName");//选择 userList中的Id作为 Value,选择·UserName 作为Text显示 } 然后构建前台,推荐

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

/*******步骤有四个,缺一不可*********/ function () {xxxxxx = Ext.extend(construct, {InitControl: function () { var _this = this; /*****************步骤一:建数据store ******************/ //一级下拉框数据(此处注意,一定要把store写在combobox控件定义的前面,否则无法加载数据) var moduleStore = new Ext.da

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

html代码这么写 <!-- 商品属性 --> <table cellspacing="1" cellpadding="3" width="100%" style="display:none;" class="tab"> <tr><td> <select name="Goods[type_id]"> <option val

vue select下拉框绑定默认值

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

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

这是我在学习锋利的 jquery 书中 5.1.4 的代码时遇到的一个小问题,源代码如下: <head> <style type="text/css"> * { margin:0; padding:0; } div.centent { float:left; text-align: center; margin: 10px; } span { display:block; margin:2px 2px; padding:4px 10px; background:

Winform 下拉框绑定问题

在Winform中下拉框绑定的时候只能读到text属性值,Id的值不管怎么搞都读取不到,所以就百度找到了一种方式: public void CmdBind() { var data = _logic.GetCurrency();//数据源 if (!data.Any()) return; foreach (var currency in data) { cmdCurrencyName.Items.Add(new CurrencyItem { CurrencyName = currency.Des

easy ui 下拉框绑定事件

---------------选择改变------------------------------ <input id='ServiceStatus' field-type='combo' type='text' class='easyui-combobox' style='width: 100px' value='' data-options=" valueField: 'id', textField: 'text',url: '../../Ajax/GetListData.ashx?D

easy ui 下拉框绑定数据select控件

easy ui 中的下拉框控件叫做select,具体代码如下: html代码:①.这是一个公司等级的下拉框 <tr> <td>公司等级:</td> <td> <select id="CompanyDegree" style="width: 150px;"> </select></td> <td>上级或同级:</td> <td> <input

easy ui 下拉级联效果 ,下拉框绑定数据select控件

html代码: ①两个下拉框,一个是省,另一个市 <tr> <td>省:</td> <td> <select id="ProvinceId" style="width: 150px;"> </select></td> <td>市:</td> <td> <select id="LocationId" style="