0

私は、たとえば 50 レコードを取得してデータテーブルに渡すクエリを使用します。このレコードは、表形式で表示されます。ディスプレイには、一度に 10 レコードを表示するページネーションが使用されています。次または前のレコード セットに移動したり、1 レコードずつ前後に移動したりする機能があります。

現在表示されている一連のレコードの列の最小値と最大値を見つける必要があります。Compute メソッドを使用する予定ですが、datatable の列以外でフィルタリングできるかどうかはわかりません。

クエリに行番号を含める必要がありますか、それともより良い解決策がありますか (以下の行に沿ったもの)?

CType(dtLineup.Compute("Min(ArrivalDate)", dt.row(2) to dt.row(12)), Date)
4

1 に答える 1

1

MSDN onDataColumn.Expressionの疑似コードのようなものはありません。あなたが言ったように、クエリに行番号を含めることもできますが、代わりに行番号列をデータテーブルに追加し、それをフィルター式で使用することもできます。

DataColumn col = new DataColumn("rownumber", typeof(int));
col.AutoIncrement = true;
col.AutoIncrementSeed = 1;
datatable.Columns.Add(col);

もう 1 つの方法は、linq (Skip-Take) によるページングを行い、返された行に対して集計関数を計算することです。しかし、それは現在のアプリケーション構造から大きく逸脱する可能性があります。

于 2012-09-19T20:55:29.453 に答える