可以通过访问DataRow相同的语法访问DataRowView 。这里最重要的属性叫Item 。
排序和其他便捷的特性
DataView支持Sort属性,可以用来对视图中的内容排序 。Sort由用逗号分隔的列名表达式进行排序 。通过在任何列名后加ASC或者DESC限定词,可以使得字段按照上升或者下降的顺序排列 。如果没有方向限定词,默认顺序为ASC 。
DataView是内存中的对象,所以排序在本地进行,无需调用数据库服务器 。
RowStateFilter是DataView另一有趣的属性 。它可以用任何预定义的标准来过滤DataTable中的内容 。下表中是DataViewRowState枚举类型的所有取值:
CurrentRows包括所有未更新的、新的和修改的数据行Deleted所有自上次调用AcceptChanges后删除的数据行ModifiedCurrent所有自上次调用AcceptChanges后修改过的数据行ModifiedOriginal所有自上次调用AcceptChanges后original版本的数据行New所有自上次调用AcceptChanges后新添加的行OriginalRows返回初始数据行,包含unchanged和deleted 的Unchanged所有未更新的数据行
如果要操作非连接的数据,所有更新都在对DataTable调用AcceptChanges后生效 。对单一行的更新在调用DataRow的AcceptChanges后生效 。类似的,这些更新可以通过调用DataTable或DataRow对象的RejectChanges来取消 。
DataView对象还有一些属性 , 如AllowEdit,AllowDelete和AllowNew,用来得到或设定是否允许更新的值 。它们的默认值设为True , 允许任何种类的更新 。如果在标志设为False时,你想要完成相应的更新操作 , 会有一个运行时错误发生 。
DataViewManager类
DataTable对象的DefaultView属性用来返回一个DataView对象,作为数据表中内容的默认视图 。它按照自然顺序读取数据并显示表中所有的行,而不使用任何过滤 。
theMasterGrid.DataSource = m_ds.Tables("Employees").DefaultView
如果需要数据特定的视图 , 你可以进行排序并/或对DefaultView对象直接进行过滤 。
m_ds.Tables("Employees").DefaultView.Sort = "lastname"
theMasterGrid.DataSource = m_ds.Tables("Employees").DefaultView
DataViewManager类是用来存储DataSet中所有表的视图设置 。
可以通过传递一个合法的非空的DataSet给类的构造函数来创建DataViewManager
Dim dvm As DataViewManager
dvm = New DataViewManager(m_ds)
也可以通过DataSet对象的DefaultViewManager属性直接得到:
Dim dvm As DataViewManager = m_ds.DefaultViewManager
重要的是DataViewManager类是同一个DataSet相关联的 。下面是另一种可行的方法:
Dim dvm As New DataViewManager()
dvm.DataSet = m_ds
DataViewManager最重要的属性是DataViewSettings,一个DataViewSetting对象的集合 。
Dim dvs As DataViewSetting
dvs = dvm.DataViewSettings("Employees")
dvs.Sort = "lastname"
DataViewSetting对象包含了表视图的参数信息 。当将数据绑定到对数据敏感的控件时,使用DataViewManager而不是DataSet或DataTable可以保留你的视图设置(过滤和排序字段)
theMasterGrid.DataSource = dvm
theMasterGrid.DataMember = "Employees"
在这里,视图按照DataViewSetting中对Employees表指定的自动进行排序和过滤 。换而言之,DataViewSetting类是对特定表的视图的一种缓存 。
vb.net 控件集合Private Sub b_click(sender As Object, e As EventArgs)
MsgBox(sender.name)
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Dim b() As Button = {Button1, Button2, Button3}
For Each i In b
AddHandler i.Click, AddressOf b_click
Next
End Sub
VB.NET自定义函数很简单,在end select前再多加一种情况case else return "XXXx",因为你只提供了0-9这10种情况
推荐阅读
- 不开机怎么设置路由器密码,如何不用密码进入路由器设置
- redis数据订阅分发,redis 发布订阅会自己阻塞吗
- 如何成功营销论文,营销模式论文
- jQuery上传文件不成功,jq 上传文件
- 同名函数python python 同名函数
- 固态硬盘怎么保持寿命不变,固态硬盘怎样使用寿命更长
- 电脑代理ip如何设置在哪里,电脑代理ip如何设置在哪里查看
- 新人预告直播文案,直播预告文案写作技巧
- 最高分函数python 最高分函数怎么求