0

我有一个显示来自 ObservableCollection 的所有数据的 Datagrid。但我只想显示 Datagrid 中的前 10 个元素。你能帮忙吗?

4

2 回答 2

1

我假设您正在使用 MVVM .. 您可以尝试使用集合视图源..

 observableCollection = new ObservableCollection<string>();
 Items = CollectionViewSource.GetDefaultView(observableCollection.Take(10));

其中“Items”是您的视图模型中的属性,而“ItemsSource”是您的数据网格中的属性。

public ICollectionView Items { get; set; }

您可能必须在视图模型中包含几个命名空间

using System.Collections.ObjectModel;
using System.Windows.Data;
于 2012-10-19T11:05:21.227 回答
0

假设您的 DataGrid 是 dg。你可以试试 :

int nbV = 10; //number you want
ItemCollection ic = new ItemCollection();
for(int k = 0; k < nbV; k++)
   {
      ic.Add(dg.Items[k]);
   }

dg.ItemsSource = ic.DefaultView;
于 2012-10-19T10:41:35.590 回答