本篇文章主要介绍Dev Express控件LookUpEdit、GridControl、RibbonControl工具栏等的使用。并记录了如何在GridControl中的GridView添加右键菜单,以及如何实现菜单选择事件。
1.LookUpEdit 实现下拉框
(1)绑定数据源:
DataSet ds = new DataSet();
DT_Project = new DataTable();//数据源
DT_Project.Columns.Add("project_id");
//添加一行数据库中不存在的数据
DataRow dr = DT_Project.NewRow();
dr["project_id"] = "请输入或选择...";
DT_Project.Rows.Add(dr);
ds.Tables.Add(DT_Project);
ds.Tables[0].Merge(BLL.Project.Project.Que_AllProjectId()); //与数据库中查询到的DataTable合并
this.lookupEdit_ProjectId.Properties.DataSource = DT_Project;
this.lookupEdit_ProjectId.Properties.ValueMember = "project_id";//一般ValueMember绑定Id,也是this.lookupEdit_ProjectId.EditValue的值
this.lookupEdit_ProjectId.Properties.DisplayMember = "project_id";//DisplayMember绑定Name,是下拉列表要显示的数据,也是this.lookupEdit_ProjectId.Text的值
this.lookupEdit_ProjectId.Properties.ShowHeader = false;
this.lookupEdit_ProjectId.Properties.ShowFooter = false;
this.lookupEdit_ProjectId.Properties.NullText = "无";//数据源无数据时,显示的文本
//要使用户可以输入,这里须设为Standard
this.lookupEdit_ProjectId.Properties.TextEditStyle = TextEditStyles.Standard;
//设定下拉列表的行数
this.lookupEdit_ProjectId.Properties.DropDownRows = DT_Project.Rows.Count;
//设定lookupEdit下拉列表宽度
this.lookupEdit_ProjectId.Properties.PopupFormMinSize = new System.Drawing.Size(10, 10);
this.lookupEdit_ProjectId.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("project_id", ""));//使得LookupEdit只显示Displayer
//this.lookupEdit_projectName.Properties.Columns.Add(new DevExpress.XtraEditors.Controls.LookUpColumnInfo("project_id", "下拉框列头Caption"));
this.lookupEdit_ProjectId.ItemIndex = 0;
//不允许列project_id排序
this.lookupEdit_ProjectId.Properties.Columns[0].AllowSort = DevExpress.Utils.DefaultBoolean.False;
(2)LookUpEdit 实现用户输入
//实现用户输入
this.lookupEdit_ProjectId.ProcessNewValue += LookUpEdit1_ProcessNewValue;//调用下面方法
/// <summary>
/// 实现用户自由输入
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void LookUpEdit1_ProcessNewValue(object sender, DevExpress.XtraEditors.Controls.ProcessNewValueEventArgs e)
{
DataRow Row;
RepositoryItemLookUpEdit Edit = ((LookUpEdit)sender).Properties;
if (e.DisplayValue == null || Edit.NullText.Equals(e.DisplayValue) || string.Empty.Equals(e.DisplayValue))
return;
Row = DT_Project.NewRow();
Row["project_id"] = e.DisplayValue;//用户输入的数据
DT_Project.Rows.Add(Row);
e.Handled = true;
}
2.GridControl
如下,GridControl中只有一个GridView