首页 文章

数据表计算方法过滤行号

提问于
浏览
0

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

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

我是否必须在查询中包含行号,或者是否有更好的解决方案(下面提到的内容)?

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

1 回答

  • 1

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

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

    另一种方法是通过linq(Skip-Take)进行分页,并计算返回行的聚合函数 . 但这可能是您当前应用程序结构的主要偏差 .

相关问题