Devexpress bandedGridView数据行添加按钮comboBox控件
- 软件设计
- 2023-08-03
- 2885
给表格里的单元格添加下拉控件,研究了两天,终于有了结果网上也有很多教程,但都是给到了数据列,就像这种代码贴一下调用用:GetComboBox("OK"...
给表格里的单元格添加下拉控件,研究了两天,终于有了结果
网上也有很多教程,但都是给到了数据列,就像这种
代码贴一下
调用用:GetComboBox("OK","NG");
private void GetComboBox(string str1, string str2)
{
DevExpress.XtraEditors.Repository.RepositoryItemComboBox combobox = new DevExpress.XtraEditors.Repository.RepositoryItemComboBox();
combobox.Items.Add(str1);
combobox.Items.Add(str2);
combobox.AllowNullInput = DevExpress.Utils.DefaultBoolean.False;
gridControl1.RepositoryItems.Add(combobox);
this.bandedGridView1.Columns["1"].ColumnEdit = combobox;
}
而我想要实现的是,根据最后一列的特征,比如是文字,我想在文字所在的行编程下拉,而不是列变成下拉
看了好多的链接,快要放弃的时候有了好的消息,达到了预期的效果
贴代码:
首先,定义一个comboBox
public DevExpress.XtraEditors.Repository.RepositoryItemComboBox comboBox = new DevExpress.XtraEditors.Repository.RepositoryItemComboBox();
然后,在Load事件中加载它
comboBox.Items.AddRange(new object[] { "OK", "NG" });
gridControl2.RepositoryItems.AddRange(new DevExpress.XtraEditors.Repository.RepositoryItem[] {comboBox});
最后增加bandedGridView1_CustomRowCellEdit事件
private void bandedGridView1_CustomRowCellEdit(object sender, DevExpress.XtraGrid.Views.Grid.CustomRowCellEditEventArgs e)
{
for (int i = 0; i < bandedGridView1.RowCount; i++)
{
if (this.bandedGridView1.GetRowCellValue(i, "检验类型").ToString() == "文字")
{
if (e.RowHandle == i)
{
e.RepositoryItem = comboBox;
}
}
}
}
这样就实现了我的功能
最后的最后
感谢https://blog.csdn.net/bjxiejihua/article/details/108431309的帮助。
本文链接:http://zxmcloud.com/?id=79
发表评论