考虑以下代码:
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.当没有proci_ID> 1的记录时,也与addedLOVcount相同,它也返回count as1
答案 0 :(得分:4)
DataView
通过Table
属性引用它的原始DataTable。但它不共享相同的数据。 DataTable
包含没有应用过滤器的原始数据,而DataView
仅包含应用过滤器后的记录。
您可以通过DataView.Count
获得正确的点数:
int deletedLOVcount = deletedLOV.Count;
MSDN:
获取RowFilter和之后的DataView中的记录数 已应用RowStateFilter。