考虑下面的代码:
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;
Run Code Online (Sandbox Code Playgroud)
删除记录时,prociLOV_Deleted 设置为 1。
但即使没有删除记录,deletedLOVcount 返回值 1。当没有 proci_ID>1 的记录时,与 addedLOVcount 相同,它也返回计数为 1
通过属性引用DataView它的原始数据表Table。但它不共享相同的数据。包含DataTable未应用过滤器的原始数据,而DataView仅包含应用过滤器之后的记录。
您可以通过以下方式获得正确的计数DataView.Count:
int deletedLOVcount = deletedLOV.Count;
Run Code Online (Sandbox Code Playgroud)
微软软件定义网络:
获取应用 RowFilter 和 RowStateFilter 后 DataView 中的记录数。