在数据集上使用RowFilter之后,如何访问过滤记录



我有一个数据集,我在上面设置了一个rowFilter:

DateTime minDateVal = (DateTime)ds.Tables[0].Compute("Min(DateTimeField)", "anotherField = 12");
ds.Tables[0].DefaultView.RowFilter = "anotherField=12 and DateTimeField='" + minDateVal + "'";

因此,在应用此过滤器后,我得到满足条件的行,但是如何访问过滤的行(满足RowFilter条件的行(?

一些疑问:

  • 获得满足RowFilter的行数的数量是正确的吗?

    ds.defaultview.count

    ds.defaultview.recordcount

  • 应用RowFilter后访问已过滤的行是正确的吗?

第0行:

ds.DefaultView.RowViewCache[0]["MyColumn1"].ToString()

第1行:

ds.DefaultView.RowViewCache[1]["MyColumn1"].ToString()

等等。

您可以使用DataView的ToTable()将DataView返回到DataTable

DataView dv = ds.Tables[0].DefaultView;
dv.RowFilter = "anotherField=12 and DateTimeField='" + minDateVal + "'";
Datatable result  = dv.ToTable();

最新更新