1

我正在使用MVVM架构样式处理XamGrid,同时使用以下代码删除过滤器,过滤器被删除,但过滤器单元格仍然包含应该为空 的过滤器值。

foreach (var columnBase in dataGrid.FilteringSettings.RowFiltersCollection)
 {
    var col = (RowsFilter)columnBase;
    col.Column.FilterColumnSettings.FilterCellValue = string.Empty;
 }

  dataGrid.FilteringSettings.RowFiltersCollection.Clear();
4

1 回答 1

0

经过长时间的分析发现你会在很多地方找到这样的代码,但最重要的是你的FilterScope应该设置为ColumnLayout

dataGrid.FilteringSettings.FilteringScope = FilteringScope.ColumnLayout;

RowFiltersCollection rfc = dataGrid.FilteringSettings.RowFiltersCollection;
if (rfc != null)
{
  foreach (RowsFilter RF in rfc)
   {
      if (RF.Conditions.Count != 0)           
            RF.Conditions.Clear();
   }
}

dataGrid.FilteringSettings.RowFiltersCollection.Clear();
于 2016-05-12T08:00:49.827 回答