检查绑定到可观察集合的数据网格中的单元格值是空的还是重复的

时间:2017-01-11 14:18:16

标签: c# wpf datagrid observablecollection

我搜索了一段时间,但我无法弄清楚如何检查我的数据网格的“名称”列是否为空或包含现有值。如果是这样,则不应将该行添加到集合中。

这是班级:

public ObservableCollection<DataVals> ListeDataTable { get; set; } = new ObservableCollection<DataVals>();

可观察的集合:

DgDataTable.ItemsSource = ListeDataTable;

Datagrid绑定到ListeDataTable:

11.01.2017 14:59:19 +01:00   value 15
11.01.2017 15:04:19 +01:00   value 17
11.01.2017 15:09:19 +01:00   value 14
11.01.2017 15:14:19 +01:00   value 11
11.01.2017 15:19:19 +01:00   value 0
11.01.2017 15:24:19 +01:00   value 8
---------here I want divide---------
11.01.2017 15:49:19 +01:00   value 6
11.01.2017 15:54:19 +01:00   value 14
11.01.2017 15:59:19 +01:00   value 5
11.01.2017 16:04:19 +01:00   value 3
11.01.2017 16:09:19 +01:00   value 5

下面的图片显示了问题,我可以添加空名称的行:

enter image description here

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用以下代码段获取集合视图并对其进行过滤:

var view = CollectionViewSource.GetDefaultView( ListDataTable );
        view.Filter = item =>
        {
            var dataVal = item as DataVals;
            if( dataVal == null )
                return false;

            return !string.IsNullOrEmpty( dataVal.Name );
        };

绑定使用默认视图,因此您不需要做任何其他事情:)