DataRow概述
DataRow表示DataTable中的行。
通过DataRows集合,可以获得某一位置的DataRow(行)。
例如:
Dim
dr As DataRow变量dr引用了订单表的第一行。
注意这个第一行可能不是你看到的第一行,你看到的是Table中的第一行。
DataRow通过列名称来返回或设置各列的值,例如:
Dim dr As DataRowDataRow的常用属性有:
名称 | 说明 |
IsNull | 判断某一列的内容是否为空,通常用于判断某一列是否已经输入内容。 |
Locked | 返回或设置行的锁定状态 |
例如:
With DataTables(
"订单").DataRows(0) '引用第一行DataRow的常用方法有:
名称 | 说明 |
Save | 保存行 |
Delete | 删除行 |
Remove | 移除行 |
Load | 重新加载行,如果其他人已经修改并保存此行,执行此方法,即可将该行最新的内容同步显示在表中。 |
Reject | 撤销自打开文件或最近一次保存以来,对该行做出的修改 |
GetChildRows | 返回一个DataRow集合,集合中包括指定子表中和该行对应的全部关联行 |
GetParentRow | 返回该行在指定父表中对应的关联行 |
例如:
With DataTables(
"订单")GetChildRows返回一个集合,这个集合包括指定子表中全部对应的关联行。
假定产品表和订单表之间通过产品编号建立了关联,下面的代码获得第一个产品的全部订单,并将这些订单的折扣设为0.1:
Dim
drs As List(Of Datarow)如果要返回父表中对应的关联行,需要使用GetParentRow方法。
例如要找出某一订单在父表(产品表)对应的关联行,可参考下面的代码:
Dim
dr As
DataRow =
DataTables("订单").DataRows(0)
Dim pr As
DataRow =
dr.GetParentrow("产品")
Output.Show(pr("产品名称"))
Remove方法用于移除行,例如移除订单表的第一行:
DataTables("订单").DataRows(0).Remove()
移除行和删除行是不同的,移除只是使得表中暂时不再包括该行,就像该行从来没有被加载过一样;不管你是否保存文件,下次打开后,被移除的行还会出现。