Gridview LookupEdit gridLookUpEdit

来源:互联网 发布:淘宝网圆形相框 编辑:程序博客网 时间:2024/04/26 22:14

LookupEdit一般用法: 

绑定数据源:                    
            lookUpEdit.Properties.ValueMember = 实际要用的字段;   //相当于Editvalue
            lookUpEdit.Properties.DisplayMember =要显示的字段;    //相当于Text
            lookUpEdit.Properties.DataSource = 数据源;
 判断是否选择下拉框:
             if(this.lookUpEdit.Editvalue==null ||this.lookUpEdit.Editvalue.tostring()=="nulltext")
             {
                //提示信息,说明未选择下拉框
             }   
  清空nullText值: 
            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)就可以了。
原创粉丝点击