DevExpress lookupedit 目前只能够使用displaynumber进行筛选,哪位大神可以实现多列查询。谢谢了
解决方案 »
- 空间相册的制作
- [高分高难度求解] c# Webbrowser 的 DocumentCompleted 不响应
- 关于C1.Win.C1FlexGrid.C1FlexGrid问题你知道多少?
- 一个小问题!!!!!!!!
- 请使用过Microsoft Help Workshop软件的朋友进来看看!
- Ajax框架12029,12007错误
- 一个小网站的设计,求达人帮助(有偿)
- ==== 请教界面(Win Form)上图形的基本思路 =====
- 省市两级联动combobox,如何进一步的完善?
- command.Parameters["@" + columname].Value值的问题。
- 一个封锁操作被对 WSACancelBlockingCall 的调用中断。
- Winform调用webapi怎么保存安全码不被人看到
//GridLookUpEdit模糊查询
private void FilterLookup(object sender, string[] arrFilterField)
{
//Text += " ! ";
GridLookUpEdit edit = sender as GridLookUpEdit;
GridView gridView = edit.Properties.View as GridView;
FieldInfo fi = gridView.GetType().GetField("extraFilter", BindingFlags.NonPublic | BindingFlags.Instance);
//Text = edit.AutoSearchText;
CriteriaOperator[] arrCriteriaOperator = new CriteriaOperator[arrFilterField.Length];
for (int i = 0; i < arrFilterField.Length; i++)
{
arrCriteriaOperator[i] = new BinaryOperator(arrFilterField[i],"%"+edit.AutoSearchText + "%", BinaryOperatorType.Like);
}
string filterCondition = new GroupOperator(GroupOperatorType.Or, arrCriteriaOperator).ToString();
fi.SetValue(gridView, filterCondition);
MethodInfo mi = gridView.GetType().GetMethod("ApplyColumnsFilterEx", BindingFlags.NonPublic | BindingFlags.Instance);
mi.Invoke(gridView, null);
}//绑定事件
void cmbZyzd_Properties_Popup(object sender, EventArgs e)
{
FilterLookup(sender, new string[] { "Name", "Code","Spell" });//中文,编码,拼音
}
void cmbZyzd_TextChanged(object sender, EventArgs e)
{
GridLookUpEdit edit = sender as GridLookUpEdit;
edit.SelectionStart = edit.Text.Length;
}
void cmbZyzd_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
this.BeginInvoke(new System.Windows.Forms.MethodInvoker(delegate
{
FilterLookup(sender, new string[] { "Name", "Code", "Spell" });
}));
}
//加载主要诊断
void LoadZyzd()
{ DataTable dt = new CDM_HB_ICD10BLL().GetZYZDData();//数据源
this.cmbZyzd.Properties.Popup -= new EventHandler(cmbZyzd_Properties_Popup);
this.cmbZyzd.EditValueChanging -= new DevExpress.XtraEditors.Controls.ChangingEventHandler(cmbZyzd_EditValueChanging);
this.cmbZyzd.TextChanged -= new EventHandler(cmbZyzd_TextChanged);
this.cmbZyzd.Properties.BestFitMode = DevExpress.XtraEditors.Controls.BestFitMode.BestFitResizePopup;
this.cmbZyzd.Properties.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
this.cmbZyzd.Properties.AutoComplete = false;
this.cmbZyzd.Properties.ImmediatePopup = true;
this.cmbZyzd.Properties.PopupFilterMode = DevExpress.XtraEditors.PopupFilterMode.Contains;
this.cmbZyzd.Properties.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.Standard;
this.cmbZyzd.Properties.DataSource =dt;
this.cmbZyzd.Properties.ValueMember = "Code";
this.cmbZyzd.Properties.DisplayMember = "Name";
this.cmbZyzd.Properties.Popup += new EventHandler(cmbZyzd_Properties_Popup);
this.cmbZyzd.EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(cmbZyzd_EditValueChanging);
this.cmbZyzd.TextChanged += new EventHandler(cmbZyzd_TextChanged); }
可以去慢慢参悟,不懂的可以问我