0

我使用一个查询来获取 50 条记录并将其传递给数据表。然后,此记录以表格格式显示。显示器使用了分页,一次显示 10 条记录。可以移动到下一组或上一组记录,或者向前或向后移动 1 条记录。

我必须为当前可见的记录集找到列的最小值和最大值。我打算使用 Compute 方法,但我不确定它是否允许过滤除数据表中的列之外的任何内容。

我必须在查询中包含行号还是有更好的解决方案(如下所述)?

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

1 回答 1

1

没有什么像您在MSDN 上DataColumn.Expression的伪代码那样。正如您所说,您可以在查询中包含一个行号,但另一种方法是在您的数据表中添加一个行号列并在过滤器表达式中使用它。

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

另一种选择可能是通过 linq (Skip-Take) 进行分页并在返回的行上计算聚合函数。但这可能是您当前应用程序结构的主要偏离。

于 2012-09-19T20:55:29.453 回答