我有一个数据集,我在其上设置了一个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后过滤的行,下面是否正确?
:
ds.DefaultView.RowViewCache[0]["MyColumn1"].ToString()
第1行:
ds.DefaultView.RowViewCache[1]["MyColumn1"].ToString()
等等。
答案 0 :(得分:2)
您可以使用Dataview的ToTable()
将Filtered Dataview恢复为Datatable
DataView dv = ds.Tables[0].DefaultView;
dv.RowFilter = "anotherField=12 and DateTimeField='" + minDateVal + "'";
Datatable result = dv.ToTable();