我无法调用或使用我创建的编辑器按钮的事件点击。按钮的屏幕截图是
我制作的代码就像这样
RepositoryItemComboBox repositoryItemComboBox1 = new RepositoryItemComboBox();
EditorButton lp = new EditorButton();
private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
repositoryItemComboBox1.Items.Clear();
GridView view = sender as GridView;
for (int i = 0; i < gridView1.RowCount; i++)
{
if (gridView1.GetDataRow(i) == null)
{
break;
}
string code = gridView1.GetDataRow(i)["code"].ToString();
if (!repositoryItemComboBox1.Items.Contains(code))
{
repositoryItemComboBox1.Items.Add(code);
}
}
if (e.Column.FieldName == "code" && view.IsFilterRow(e.RowHandle))
{
repositoryItemComboBox1.Buttons.Add(lp);
repositoryItemComboBox1.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Plus;
repositoryItemComboBox1.Buttons[1].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Minus;
e.RepositoryItem = repositoryItemComboBox1;
}
当我点击减去什么都没发生因为没有处理程序(事件)。 我想要的是当我点击那个减号按钮它清除gridview过滤器 仅供参考:iam使用devexpress
答案 0 :(得分:0)
您可以挂钩repositoryItem的ButtonClick事件。在这种情况下,您将知道单击了哪个按钮。所以,假设您以这种方式创建按钮:
private void repositoryItemComboBox1_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e)
{
if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Minus)
{
// do something
}
else if (e.Button.Kind == DevExpress.XtraEditors.Controls.ButtonPredefines.Plus)
{
// do something else
}
}
在repositoryItemComboBox1_ButtonClick中,您可以访问“e”参数中的按钮属性。在这个例子中,我使用的是“Kind”属性,但你可以使用标签或其他任何东西。
{{1}}
这就是我这样做的方式。