2

考虑下面的代码:

DataView deletedLOV = new DataView(tbltmp, "prociLOV_Deleted=1", "prociLOV_ID",
                                   DataViewRowState.CurrentRows);
DataView addedLOV = new DataView(tbltmp, "prociLOV_Id>1", "prociLOV_ID",
                                 DataViewRowState.CurrentRows);
int deletedLOVcount=deletedLOV.Table.Rows.Count;
int addedLOVcount=addedLOV.Table.Rows.Count;

删除记录时,prociLOV_Deleted 设置为 1。

但是即使没有记录被删除,deletedLOVcount 返回值 1。也与 addedLOVcount 相同,当没有 proci_ID>1 的记录时,它也返回计数为 1

4

1 回答 1

4

通过属性DataView引用它的原始数据表。Table但它不共享相同的数据。包含未应用过滤器的DataTable原始数据,而DataView仅包含应用过滤器后的记录。

您将通过以下方式获得正确的计数DataView.Count

int deletedLOVcount = deletedLOV.Count;

MSDN:

获取应用 RowFilter 和 RowStateFilter 后 DataView 中的记录数。

于 2012-12-04T08:10:29.963 回答