日期:2014-05-18  浏览次数:21851 次

devexpress的lookupedit控件能否自由录入文本?
一般情况下,只能从下拉的列表中选择内容,能否不选择内容,而是自行输入列表中没有的内容?

已知:lookUpEdit1.Properties.TextEditStyle=TextEditStyles.Standard并不能解决问题,只是可以手工输入内容后在弹出的内容中快速选择而已。

------解决方案--------------------
编辑模式下无法输入下拉中没有的值。

浏览模式下可显示某些下拉中没有的值,前提是这些值必须存在于控件数据源中。

举例如下:
有一个用户表dtUser,内容如下:
Name IsValid
张三 True
李四 False

this.lookUpEdit1.Properties.DisplayMember = "Name";
this.lookUpEdit1.Properties.ValueMember = "Name";
this.lookUpEdit1.Properties.DataSource= dtUser;

现在我希望lookUpEdit1下拉中只有张三,而浏览模式下又可以显示李四。
方法如下:
private void lookUpEdit1_QueryPopUp(object sender, CancelEventArgs e)
{
DataTable dtUser = lookUpEdit1.Properties.DataSource as DataTable;
if(dtUser == null) return;
dtUser.DefaultView.RowFilter = "IsValid='True'";
}

private void lookUpEdit1_QueryCloseUp(object sender, CancelEventArgs e)
{
DataTable dtUser = lookUpEdit1.Properties.DataSource as DataTable;
if(dtUser == null) return;
dtUser.DefaultView.RowFilter = "";
}
------解决方案--------------------
用ComboBoxEdit