博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable
阅读量:6073 次
发布时间:2019-06-20

本文共 6675 字,大约阅读时间需要 22 分钟。

 

 绑定数据及定义列信息

LookUpEdit lue = lookUpEdit1;            DataTable dt = new DataTable();            dt.Columns.Add(new DataColumn("name"));            dt.Columns.Add(new DataColumn("code"));            DataRow row = dt.Rows.Add();            row["name"] = "tom";            row["code"] = "001";            row = dt.Rows.Add();            row["name"] = "Jack";            row["code"] = "002";            lue.Properties.DataSource = dt;         // 绑定数据源            lue.Properties.DisplayMember = "name";  // 指定显示字段            lue.Properties.ValueMember = "code";    // 指定值字段            LookUpColumnInfo col;                   // 定义列信息            LookUpColumnInfo col2;            col = new LookUpColumnInfo("code", "编码");       // 定义列信息 对应的字段名称及字段表头即Caption            col.SortOrder = ColumnSortOrder.Descending;       // 指定列排序(貌似只能对第一列进行排序)            // col.Visible = false;                           // 控制列是否显示(往往用在对ID或是编码等主键值进行隐藏显示)            lue.Properties.Columns.Add(col);                  // 向 LookUpEdit 中添加列            col2 = new LookUpColumnInfo("name", "姓名");            //col2.SortOrder = ColumnSortOrder.Ascending;            lue.Properties.Columns.Add(col2);

 读取选中值:

MessageBox.Show(string.Format(" {0} : {1} ",lookUpEdit1.EditValue, lookUpEdit1.Text));

设置 null值的显示:

// 清除选择: lookUpEdit1.EditValue = null; // Null值时显示 lookUpEdit1.Properties.NullText = "空值"; // Null值或当没有焦点时显示的Text lookUpEdit1.Properties.NullValuePrompt = "请选择";

 

以上为自己参考网络上写的,以下为摘自网络:

DevExpress LookUpEdit和ComboBoxEdit部分用法LookUpEdit 1、绑定列 (注意点:LookUpEdit1的FieldName要和绑定的列明一致)     方式一: •LookUpEdit1.Properties.DisplayMember = "attrib2Name"; •LookUpEdit1.Properties.ValueMember = "attrib2"; •LookUpEdit1.Properties.DataSource = dataset1.Tables["TDefSeason"];     方式二:(注意:若采用方式二绑定又赋值的话,数据源可能会变掉,此中情况下最好采用第一种方式) •LookUpEdit1.DataBindings.Add("EditValue", dataset1.Tables["TDefSeason"], "attrib2"); •LookUpEdit1.Properties.DataSource = dataset1.Tables["TDefSeason"]; 2、赋值 •LookUpEdit1.EditValue=""; 3、列显示为百分号: •    LookUpEdit1.Properties.MaskType="Numeric"; •    LookUpEdit1.Properties.EditMask="p"; (若要显示输入不超过100%,则设为"#0.00%" ComBoxEdit 1、comboBoxEdit1.Properties.Items[comboBoxEdit1.SelectedIndex].ToString()  使用前需要先确认 comboBoxEdit1.SelectedIndex不能等于-1,不然报错。 2、ComboBoxEdit也是DevExpress winform控件中经常使用的一个,我们在使用的过程中可能有时需要对ComboBoxEdit控件进行数据绑定,而ComboBoxEdit控件不像LookUpEdit控件拥有DataSource属性,可以直接绑定一个数据集。 1 //手工添加ComboBoxEdit的数据源 2 comboBoxEdit1.Properties.Items.Clear();3 4 foreach (DataRow row in this.ColorData.Rows)5 {6    comboBoxEdit1.Properties.Items.Add(row["ColorCode"]);7 } 3、设置comboBoxEdit的下拉框只读,不允许编辑,只需设置其Properties的 TextEditStyle的值为 DisableTextEditor即可。

摘自网络: DevExpress.XtraEditors.LookUpEdit基本用法

在**_Load里首先,从DB取得的数据:SqlDataReader myDataReader = myCommand.ExecuteReader();然后, using(DataTable dt = new DataTable())        {          dt.Load(myDataReader);          lokPurchaseSlipkbn.Properties.DataSource = dt;          lokPurchaseSlipkbn.Properties.DisplayMember = "kbn_control_kbn";          lokPurchaseSlipkbn.Properties.ValueMember = "l_name";Column追加          LookUpColumnInfoCollection colCollection1 = lokPurchaseSlipkbn.Properties.Columns;          colCollection1.Clear();          colCollection1.Add(new LookUpColumnInfo("l_name","",0));          int dropDown1 = (dt == null || dt.Rows.Count > LOK_VIEW_MAXROW) ? LOK_VIEW_MAXROW : dt.Rows.Count;          lokPurchaseSlipkbn.Properties.DropDownRows = dropDown1;          lokPurchaseSlipkbn.Properties.BestFit();          lokPurchaseSlipkbn.Properties.PopupWidth = 100;        }gridView的用法:首先要配置好view,然后用法是一样的。Properties.NullTest = [未选择]时,LookUpEdit选择其他的值时,Properties.AllowNullInput = true;   LookUpEdit控件数据绑定例子 try            {                KPMISDataBase dc = new KPMISDataBase();                ddlOutOrg.Properties.Columns.Clear();                var query = from o in dc.Bas_Organization                            join p in dc.Fin_OrgAccount                            on o.Org_ID equals p.Org_ID                            where p.Acct_Status == "正常"                            select new                            {                                o.Org_ID,                                o.Org_Name                            };                DataTable dt = query.Distinct ().ToDataTable(rec => new object[] { query });                if (dt.Rows.Count > 0)                {                    DataRow dr = dt.NewRow();                    dr["Org_ID"] = "";                    dr["Org_Name"] = "--请选择--";                    dt.Rows.InsertAt(dr, 0);                    ddlOutOrg.Properties.Columns.Add(new LookUpColumnInfo("Org_Name"));                    ddlOutOrg.Properties.ValueMember = "Org_ID";                    ddlOutOrg.Properties.DisplayMember = "Org_Name";                    ddlOutOrg.Properties.DataSource = dt;                    ddlOutOrg.EditValue = dt.Rows[0]["Org_ID"];                }                else                {                    ddlOutOrg.Properties.DataSource = null;                    ddlOutOrg.Properties.NullText = "--没有数据--";                }            }            catch (Exception ex)            {                MsgBox.ErrShow(ex.Message);            } dev 控件 lookupedit 设置选项值 使用lookupedit1的值:          变量=this.lookupedit.editvalue.tostring()  //是ookupedit.properties.valuemember的值          变量=this.lookupedit.text.trim()      //是ookupedit.properties.displaymember 的值          特别值得注意的是,有时候我们要使用lookupedit来实现combox的一些效果,在实际的使用过程中在程序加载的时候会默认的选择第一项,它的设置是:       lookupedit.itemindex=0;   //选择第一项       lookupedit.itemindex=-1; //无选项,此时显示的是nulltext值 其实这个地方只要editvalue==null,lookupedit就显示nulltext       lookupedit1.editvalue=value;//自动搜索datasouse,选择与之匹配的值,没有的情况下赋值null ,value的值必须与valuemember的数据类型一致。  ComboBoxEdit数据绑定 
<整理:冰河渔者 2009-01-27>
ComboBoxEdit也是DevExpress winform控件中经常使用的一个,我们在使用的过程中可能有时需要对ComboBoxEdit控件进行数据绑定,而ComboBoxEdit控件不像LookUpEdit控件拥有DataSource属性,可以直接绑定一个数据集。下面我们使用 ComboBoxEdit的comboBoxEdit1.Properties.Items.Add(object item)方法来实现数据绑定.1.先用GetAreaDataTable方法返回一个DataTable,代码如下:public static DataTable GetAreaDataTable() { string sqlStr = "select BMMC from usiCLB where BMLID=3"; DataBase db = new DataBase(); DataTable dt = db.GetDataTable(sqlStr); return dt; }2.然后将数据循环添加到ComboBoxEdit中,代码如下:private void LoadComboBoxEdit() { this.comboBoxEdit1.Properties.NullText = "请选择..."; DataTable dt = UserInfo.GetAreaDataTable(); for (int i = 0; i < dt.Rows.Count; i++) { comboBoxEdit1.Properties.Items.Add(dt.Rows[i]["BMMC"].ToString()); } } 允许输入自定义值 LookupEditor1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;

 

 

 

转载地址:http://fuigx.baihongyu.com/

你可能感兴趣的文章
exchange 2010 队列删除
查看>>
android实用测试方法之Monkey与MonkeyRunner
查看>>
「翻译」逐步替换Sass
查看>>
H5实现全屏与F11全屏
查看>>
处理excel表的列
查看>>
Excuse me?这个前端面试在搞事!
查看>>
C#数据采集类
查看>>
quicksort
查看>>
检验函数运行时间
查看>>
【BZOJ2019】nim
查看>>
四部曲
查看>>
LINUX内核调试过程
查看>>
【HDOJ】3553 Just a String
查看>>
Java 集合深入理解(7):ArrayList
查看>>
2019年春季学期第四周作业
查看>>
linux环境配置
查看>>
ASP.NET MVC中从前台页面视图(View)传递数据到后台控制器(Controller)方式
查看>>
lintcode:next permutation下一个排列
查看>>
一个想法(续二):换个角度思考如何解决IT企业招聘难的问题!
查看>>
tomcat指定配置文件路径方法
查看>>