超赢格栅柱过滤器

时间:2015-04-24 07:00:28

标签: c# infragistics ultragrid ultrawingrid

我正在使用ultrawingrid,下面是样本数据集

名字|姓氏|年龄|地方

Vikas |康特| 27 |迈索尔

Ganesh |康特| 25 |迈索尔

大卫| Wiesse | 26 |班加罗尔

如果我在姓氏列上使用列过滤器,我会看到选项为Kunte和Wiesse。

如果我选择Kunte,我的结果集如下所示

Vikas |康特| 27 |迈索尔

Ganesh |康特| 25 |迈索尔

再次,如果我想过滤年龄,可以看到选项为27,25和26.相反,我应该看到选项27和25

是否可以在infragistics网格中执行此操作?

1 个答案:

答案 0 :(得分:0)

网格具有AfterRowFilterDropDownPopulate事件,您可以在其中删除项目。为此,您可以使用以下代码:

    var hiddenRows = ultraGrid1.Rows.Where(r => r.IsFilteredOut);

            foreach (var hiddenRow in hiddenRows)
            {
                var item = e.ValueList.ValueListItems.Cast<ValueListItem>().
                    FirstOrDefault(i => i.DisplayText == hiddenRow.Cells[e.Column].Text);
                if (item != null)
                {
                    e.ValueList.ValueListItems.Remove(item);
                }
            }