我搜索了一段时间,但我无法弄清楚如何检查我的数据网格的“名称”列是否为空或包含现有值。如果是这样,则不应将该行添加到集合中。
这是班级:
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
下面的图片显示了问题,我可以添加空名称的行:
感谢您的帮助。
答案 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 );
};
绑定使用默认视图,因此您不需要做任何其他事情:)