如何添加按钮[x]以清除自动过滤器,这样我们就不需要按删除或退格键清除过滤器。像这样的插图
代码iam用于repositoryitemcombobox
private void gridView1_CustomRowCellEdit(object sender, CustomRowCellEditEventArgs e)
{
if (gridView1.OptionsView.ShowAutoFilterRow == true)
{
for (int i = 0; i < gridView1.RowCount; i++)
{
string code = gridView1.GetDataRow(i)["code"].ToString();
if (!repositoryItemComboBox1.Items.Contains(code))
{
repositoryItemComboBox1.Items.Add(code);
}
}
if (e.Column.FieldName == "genre" && view.IsFilterRow(e.RowHandle))
{
e.RepositoryItem = repositoryItemComboBox1;
}
仅供参考:iam使用devexpress
答案 0 :(得分:0)
它是devexpress&#39;网格视图,不是吗?我不知道这个解决方案是否符合您的需求,但您可以在网格附近插入普通按钮控件,并将answer on this site内的代码放入点击操作中。
编辑: 找到了您的问题的答案 - unfortunately it's not possible to add custom button to auto filter row
答案 1 :(得分:0)
(从我的脑海中,我认为这是针对WinForms控件的)
您需要有两个RepositoryItems,一个没有clear按钮,另一个有按钮(您可以通过RepositioryItem的Buttons属性添加按钮)。
您将RepositoryItem分配给相关列而不需要额外的按钮。
然后你需要处理GridView的CustomRowCellEditEventHandler。检查事件的e.RowHandle是否等于GridControl.AutoFilterRow,如果是,则使用clear按钮将e.RepositoryItem分配给RepositoryItem。
然后处理清除按钮RepositoryItem的ButtonClicked事件。