zoukankan      html  css  js  c++  java
  • DevExpress 中 用 LookUpEdit 控件 代替 ComboBoxEdit 控件来绑定 DataTable

     绑定数据及定义列信息

                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 = "请选择";

     

    以上为自己参考网络上写的,以下为摘自网络: http://www.cnblogs.com/ruixue/archive/2013/03/19/2968793.html

    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基本用法

    http://hi.baidu.com/renrsh/item/463c07d9202c2ae7b3f777a4

    在**_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; 
  • 相关阅读:
    Js onmouseover和onmouseout小特效
    js操作元素透明度以及浏览器兼容性
    大多数人不知道的表格其他写法的onmouseover效果
    表格的删除与添加以及id的唯一性
    添加或创建元素,最新消息在最上方
    数组元素排序
    删除父级元素
    网页侧栏小分享
    如何利用极致业务基础平台构建一个通用企业ERP之十七过滤器的功能介绍
    如何利用极致业务基础平台构建一个通用企业ERP之十六物料进出明细报表的设计
  • 原文地址:https://www.cnblogs.com/wuyifu/p/3373085.html
Copyright © 2011-2022 走看看