新添加的searchLookUpEdit的Text属性值为[EditValue is null],并且无法直接通过修改Text属性来修改,而是可以通过修改它的Properties.NullText属性来修改,比如将该属性赋值为空,则为如下效果:
searchLookUpEdit1.Properties.DisplayMember = "姓名";searchLookUpEdit1.Properties.ValueMember = "年龄";searchLookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;//可输入查询searchLookUpEdit1.Properties.ShowClearButton = false;DataTable dt = new DataTable();dt.Columns.Add("姓名");dt.Columns.Add("年龄");int rowCount = 2;for (int i = 0; i < rowCount; i++){DataRow dataRow = dt.Rows.Add();if (i == 0){dataRow[0] = "小王";dataRow["年龄"] = i.ToString();}else{dataRow[0] = "小李";dataRow["年龄"] = i.ToString();}}searchLookUpEdit1.Properties.DataSource = dt;
private void searchLookUpEdit1_Closed(object sender, DevExpress.XtraEditors.Controls.ClosedEventArgs e){string text = searchLookUpEdit1.Text;string value = searchLookUpEdit1.EditValue.ToString ();}
输出:
小李
1
1、DisplayMember 属性:
用于指示显示表格中某个列的值(对应某一列的ColumnName),当我们选中某行时,就把改行对应的DisplayMember 指定的列的值赋给searchLookUpEdit.Text属性,并且显示在界面上,如下:
选中"小李"所在行时,由于DisplayMember 绑定了姓名列,所以searchLookUpEdit.Text的值就是“小李”
2、ValueMember
用于将ValueMember所指定的列的值和EditValue的值相关联对应某一列的ColumnName),向上面ValueMember 指定了绑定"年龄"列,所以当我们选择“小李”行时,对应的年龄列的值是""1;
3、searchLookUpEdit1.Properties.DataSource
用于和表格绑定,当我们点击控件右边的下拉三角形时将会弹出一个我们绑定的表格,其中find按钮左边的按钮用于我们输入关键字方便我们查找想要的一行数据,查找到该行以后,点击该行,则弹出的表格关闭,触发closed事件,然后text和editvalue属性我们都能在closed事件中获取到。
4、ClearButton
点击以后,不会选中任何行,同时关闭弹出的表格。
5、如果DisplayMember 绑定的列中有很多个值,比如小王,小李,但是直接给searchLookUpEdit1.Text赋值为"小张",就会发现赋值失败,searchLookUpEdit1.Text的值还是为默认值,只有赋的值是DisplayMember绑定的列中的值,比如小王,小李才可以生效。