以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  能否用代码判断DataTable中有没有未保存的新增行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=6104)

--  作者:mr725
--  发布时间:2010/3/5 17:01:00
--  能否用代码判断DataTable中有没有未保存的新增行?
既然行号用(如)红色来区别增新行,那么在保存前,有没有办法用代码来判断DataTable中是否有新增的行,共有多少新增的行?又怎样定位到第N个新增的行?
或者如何判断,某表中某行行号的颜色是红色的?
[此贴子已经被作者于2010-3-5 17:39:22编辑过]

--  作者:yangming
--  发布时间:2010/3/5 19:00:00
--  

看来只能是自己做一个变量,增加一行,此变量就加一,如果想知道哪此行是新加的,那就要加一列了,新增行,此列就做一标记,比如“X”,如果离开此表,设此列为空

[此贴子已经被作者于2010-3-5 19:02:13编辑过]

--  作者:czy
--  发布时间:2010/3/5 19:11:00
--  
估计老六有内置的系统列来完成这一系列动作。
[此贴子已经被作者于2010-3-5 19:10:52编辑过]

--  作者:kylin
--  发布时间:2010/3/5 20:31:00
--  

RowState

返回行的状态。

行状态是一个DataRowState型枚举,包括以下值:

说明
Added 新增加的行
Deleted 已经删除的行
Modified 已经修改过的行
Unchanged 未曾修改的行
Detached 刚刚创建,还未添加到DataTable中的行;在讲述事件编程的时候,我们会接触到这种状态的行。

例如,统计一下订单表中新增行的订购数量之和:

Dim dt As DataTable = DataTables("订单")
Dim
sum As Long
For
Each dr As DataRow In dt.DataRows
If
dr.RowState = DataRowState.Added Then
    sum = sum + dr(
"数量")
End
If
Next

Output.Show(Sum)


--  作者:狐狸爸爸
--  发布时间:2010/3/5 22:09:00
--  
我在加几个方法算了
--  作者:yangming
--  发布时间:2010/3/6 17:06:00
--  
以下是引用狐狸爸爸在2010-3-5 22:09:00的发言:
我在加几个方法算了

那好啊!


--  作者:mr725
--  发布时间:2010/3/6 18:42:00
--  
谢谢4楼的~    不知道狐爸还要加几个什么方法?