1

C#/ asp.netプロジェクトにチェックボックスリストがあり、クエリからデータベースにデータを取得するdataTableを入力しています。クエリは大量のデータを返します。データをフィルタリングする前に、最初に表示される要素の数を制限したいと思います。(たとえば、上位1000に)。どうすればこれを行うことができますか?

4

2 に答える 2

2

データ数を制限できる場所は2つあります。

データベースでは(SQL Serverを使用していると仮定して)、クエリを変更して上位1000行を返すことができます。

SELECT TOP 1000 * FROM SomeTable

または、Linqを使用して、到着後にデータをフィルタリングできます。

var newData = dataTable.AsEnumerable().Take(1000);

私は最初の方法を好むので、無駄なデータを追跡することはありません。しかし、他の場所でそのデータが必要な場合は、2番目のデータも間違いなく機能します。

于 2012-10-17T17:19:07.940 に答える
0

Take<>一般的なIEnumerableメソッドを使用できます。

var data = someQuery.Exec();
var limitedData = data.Take(1000).ToArray();
于 2012-10-17T17:02:36.060 に答える