下面两段代码是我想要得到不为空的DataView和为空的DataView,请帮忙看一下有什么问题。
'符合条件的纪录
strRowFilter = "trim(objects.ne_code)<>'' or objects.ne_code is not null"
dsDataView = New DataView(dsData.Tables(0), strRowFilter, "objects.ne_code", DataViewRowState.CurrentRows)
'不符合条件的纪录
strRowFilterBack = "trim(objects.ne_code)='' or objects.ne_code is null"
dsDataViewBack = New DataView(dsData.Tables(0), strRowFilterBack, "objects.ne_code", DataViewRowState.CurrentRows)说明:我的DataSet是根据Excel获得的
问题:这种情况下,我的dsData.Tables(0)是否会发生变化(主要是经过第一个过滤以后的)
谢谢!!!
'符合条件的纪录
strRowFilter = "trim(objects.ne_code)<>'' or objects.ne_code is not null"
dsDataView = New DataView(dsData.Tables(0), strRowFilter, "objects.ne_code", DataViewRowState.CurrentRows)
'不符合条件的纪录
strRowFilterBack = "trim(objects.ne_code)='' or objects.ne_code is null"
dsDataViewBack = New DataView(dsData.Tables(0), strRowFilterBack, "objects.ne_code", DataViewRowState.CurrentRows)说明:我的DataSet是根据Excel获得的
问题:这种情况下,我的dsData.Tables(0)是否会发生变化(主要是经过第一个过滤以后的)
谢谢!!!
并且当做数据源来使用
如果用ds.Tables(0).DefaultView可能就达不到我要的效果了
我写得那样算是吗?
哎,这种问题真的很烦啊!
这就是针对DataView过滤的
Public Sub New(ByVal table As System.Data.DataTable, ByVal RowFilter As String, ByVal Sort As String, ByVal RowState As System.Data.DataViewRowState)2.
"trim(objects.ne_code)<>'' or objects.ne_code is not null" objects是表名?
DataSet.Tables[0]和DataSet.Tables[0].DefaultView之间的区别
其实他们就象是数据库中的表和视图一样关系,视图可以是经过筛选的表,也可以是未经过筛选的,Filter的作用也就是对Table进行筛选然后生成View,而原来Table中的数据还是存在的,只不过在View中看不到而已,如果调用Table,还是看得到的
第一个我明白是DataView的构造函数,是不是所说的针对DataView啊!
第二个objects.ne_code是我在dsData.Tables(0)中的列名
你的意思是我不管用何种方式,dsData.Tables(0)是不变的是吗?
但是好像如果用dsData.Tables(0).DefaultView,然后进行过滤,好像dsData.Tables(0)的数据是会随着过滤条件改变吧!