目前项目当中一直使用DevExpress控件集,先说一下在gridControl中使用repositoryItemComboBox来模糊查询数据;后面会陆续写一些项目当中使用DevExpress的方法;
/// <summary>
/// gridControl中使用repositoryItemComboBox来模糊查询数据
/// </summary>
private void ExpandProductCodeForComboboxEdit()
{
DataSet dsProductCodeForComboboxEdit = new DataSet();
//先查询出所有商品编号
dsProductCodeForComboboxEdit = DbProject.Bll.BllServer.GetProductSev().SelectAllProduct();
if (!Common.Function.CheckDataSet(dsProductCodeForComboboxEdit))
return;
RepositoryItemComboBox riCombo = new RepositoryItemComboBox();
foreach (DataRow dr in dsProductCodeForComboboxEdit.Tables[0].Rows)
{
//填充至RepositoryItemComboBox
riCombo.Items.Add(dr["productCode"]);
}
//riCombo.AllowNullInput = DevExpress.Utils.DefaultBoolean.True;
gridControl1.RepositoryItems.Add(riCombo);
gridView2.Columns["productCode"].ColumnEdit = riCombo;
//定义事件
((RepositoryItemComboBox)gridView2.Columns["productCode"].ColumnEdit).EditValueChanging += new DevExpress.XtraEditors.Controls.ChangingEventHandler(this.riCombo_EditValueChanging);
}
/// <summary>
/// 定义事件,在单元格值被更改时触发,展开下拉框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void riCombo_EditValueChanging(object sender, DevExpress.XtraEditors.Controls.ChangingEventArgs e)
{
((DevExpress.XtraEditors.ComboBoxEdit)sender).ShowPopup();
}