zoukankan      html  css  js  c++  java
  • DevExpress之lookupedit

    DevExpress中的lookupedit的使用方法。

    绑定数据源:  

     
    lookupedit.properties.valuemember = 实际要用的字段;   //相当于editvalue
    lookupedit.properties.displaymember =要显示的字段;    //相当于text
    lookupedit.properties.datasource = 数据源;

    判断是否选择下拉框:

     
    if(this.lookupedit.editvalue==null ||this.lookupedit.editvalue.tostring()=="nulltext")
    {
    //提示信息,说明未选择下拉框
    }

    清空nulltext值: 

    1
    lookupedit.properties.nulltext=null;

    设置nulltext值:

     
    lookupedit.properties.nulltext=“请您选择”;

    使用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的数据类型一致。

    在gridview中你选择一条记录,那么利用bindingsourse.current就可以获得你要选择的数据,如果是实体类就可以(object)进行强制转换,然后 进行一些其它的操作。

    但是,lookupedit在你选择一条记录的时候,bindingsourse.current的值永远是第一条记录,要想获得你选择数据源的记 录,必须利用lookupedit.getdatasoursebykeyvalue(keyvalue),(object)进行强制转这样就可以了。但 是你要注意的就是keyvalue必须是你数据源中的主键,否则你获取的是相同键的第一个记录。如果遇到多键值决定一条记录怎么办呢?

    这个问题dev express也有他相应的解决办法,就是用到gridlookupedit,它该是gridview和lookupedit的结合体吧,利用这个你就可 以选择主键相同的记录了,利用 gridlookupeditview.getdatasourcerowindex(gridlookupeditview.focusedrowhandle) 就可以了。

    实例绑定方法

     
    //绑定lookUpEdit
             private void BoundData()
             {
                 string sql = "select daID,xm,sfzh from baseinfo";
                 DataSet ds = Archives.DataAccess.DataSql.Query(sql);
                 if (ds != null)
                 {
                     int rows = ds.Tables[0].Rows.Count;
     
                    lookUpEdit1.EditValue = "daID";
                     lookUpEdit1.Properties.ValueMember = "daID";
                     lookUpEdit1.Properties.DisplayMember = "xm";
                     lookUpEdit1.Properties.DataSource = ds.Tables[0];
     
                    //自适应宽度
                     //lookUpEdit1.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
     
                    //填充列
                     lookUpEdit1.Properties.PopulateColumns();
     
                    //设置列属性
                     //lookUpEdit1.Properties.Columns[0].Visible = false;
                     lookUpEdit1.Properties.Columns[1].Caption = "姓名";
                     lookUpEdit1.Properties.Columns[2].Caption = "身份证号";
                     lookUpEdit1.Properties.Columns[1].Width = 120;
                     lookUpEdit1.Properties.Columns[2].Width = 300;
     
                    //控制选择项的总宽度
                     lookUpEdit1.Properties.PopupWidth = 500;
     
                    //列格式设置
                     lookUpEdit1.Properties.Columns[0].FormatString = "000000";
     
                    //选择第一项
                     lookUpEdit1.ItemIndex = 0;
                 }
             }
     
            //值改变事件
             private void lookUpEdit1_EditValueChanged(object sender, EventArgs e)
             {
                 string daID = this.lookUpEdit1.EditValue.ToString(); //是ookUpEdit.Properties.ValueMember的值
                 string xm = this.lookUpEdit1.Text.Trim();
             }

    原文地址:http://www.e v get.com/zh-CN/Info/catalog/17631.html

  • 相关阅读:
    接口测试 API测试
    接口测试 JMeter 开坑
    【测试笔记】集成测试 自顶向下 自底向上
    白盒测试 各类覆盖方法辨析
    eureka 管理界面打不开
    Spring Boot 2.0 Admin
    spring swagger2配置
    解决 Registered driver with driverClassName=oracle.jdbc.driver.OracleDriver was not found, trying direct instantiation.
    springboot+mybatis在插入空值时报错的问题
    Vue Cli 3代理配置
  • 原文地址:https://www.cnblogs.com/zeroone/p/3515864.html
Copyright © 2011-2022 走看看