如何在DataSet上使用RowFilter后访问筛选记录?

时间:2017-05-30 08:51:06

标签: c# dataset .net-1.1 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()

等等。

1 个答案:

答案 0 :(得分:2)

您可以使用Dataview的ToTable()将Filtered Dataview恢复为Datatable

DataView dv = ds.Tables[0].DefaultView;

dv.RowFilter = "anotherField=12 and DateTimeField='" + minDateVal + "'";

Datatable result  = dv.ToTable();
相关问题