在Janus.GridEx中未填充FilterRow

时间:2015-11-03 05:32:29

标签: c# gridex

我正在为Janus.GridEx制作手动过滤解决方案。

gridEX1.FilterMode = FilterMode.Manual;

我们需要在每次过滤器更改时查询我们的数据库,并且每次用户在过滤器行中输入内容时我们都需要这样做,所以我们有:

gridEX1.FilterRowUpdateMode=FilterRowUpdateMode.WhenValueChanges;

为了实现手动过滤,我已经处理了ApplyFiltering这样的事件:

gridEX1.ApplyingFilter += (sender, e) =>
            {
                if (gridEX1.RootTable.Columns[gridEX1.Col].Key != "CustomerName") return;
                var customerName = gridEX1.GetValue(gridEX1.Col);

                gridEX1.SuspendBinding();
                bindingSource1.DataSource= string.IsNullOrWhiteSpace(customerName.ToString()) ? _customers : _customers.Where(c => c.CustomerName.Contains(customerName.ToString())).ToList();
                gridEX1.ResumeBinding();


            };

正如您所看到的,我正在使用GetValue方法,因为当我们将更新模式设置为WhenValueChanges时,不会填充过滤行。 这里的问题是:由于RowFilter未更新,因此当数据源更改时,网格会加载其上一行筛选器,而后者将清除用户已键入的字符。

如何强制GridExFilterRow模式填充WhenValueChanges

0 个答案:

没有答案