0

ここで、このかなり小さなコードに出くわしました:

 List<DataTable> result = DTHead.AsEnumerable()
            .GroupBy(row => row.Field<int>("MIVID"))
            .Select(g => g.CopyToDataTable())
            .ToList();

特定のフィールドの値に基づいてListofを作成します。DataTable

このコードを微調整して、代わりにレコード数に基づいて を作成することはできますListDataTables? たとえば、18 個のレコードがある場合、DataTablesそれぞれ 10 行ずつ 2 つに分割する必要があります (2 番目のテーブルの最後の 2 行は空になります)。35 個のレコードがある場合、最終的DataTableには 4 になり、テーブル 4 の最後の 5 行は空になります。

ありがとう!

4

1 に答える 1

0

これは、標準のページング メカニズムに似ています。

var result = DTHead.AsEnumerable();

int pageSize = 10;
int pages = result.Count / pageSize + 1;
for (int i = 0; i < pages; i++)
{
    var page = result.Skip(i * pageSize).Take(pageSize).Select (t => t.Name)
                     .CopyToDataTable();
}

もちろん、ループ内では、page変数に対して何か意味のあることをしなければなりません。

于 2012-12-24T08:32:34.227 に答える