以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何知道当前表中的特定行是否保存过及代码保存的一个问题。  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=150163)

--  作者:蓝色理想
--  发布时间:2020/5/22 12:04:00
--  如何知道当前表中的特定行是否保存过及代码保存的一个问题。
窗口中Table控件,用代码建立了一个临时表,并绑定数据源到这个窗口中
正常情况下,新增加的行,最左边系统自动生成的序号列,都是红色
用 Table 行 的 save(),保存后发现 左边序号列依旧是红色
用   msgbox( CurrentTable.current.DataRow.RowState)
保存前,保存后 看行状态,也一致 显示数字 4

但用foxtable自带的保存按钮,就可以把序列号变成 灰色保存状态,且用代码看状态也 由4变成了2

请问:
1、如何知道当前行是保存过的行?
2、如何用代码保存,让左边序号变灰?

--  作者:有点蓝
--  发布时间:2020/5/22 13:35:00
--  
怎么建的临时表和绑定的?代码发出来看看
--  作者:蓝色理想
--  发布时间:2020/5/22 13:55:00
--  
就是这样:

 Dim dr As DataRow
    Dim dtb As New  DataTableBuilder("临时录入表主表") \'创建临时表
    dtb.AddDef("账套期间", Gettype(Date))
dtb.Build()

然后把这个表绑定到窗口的Table控件中

再用Tables("临时录入表主表").addnew(10) 方法添加十行
填写数据后,遍历这十行数据,遍历的同时,用行的 save方法保存行
保存后,发现 行状态还是未保存状态

--  作者:有点蓝
--  发布时间:2020/5/22 14:15:00
--  
DataTableBuilder创建的临时表是不能保存的,如果只是为了把行号显示为为保存状态,调用这个AcceptChanges即可:http://www.foxtable.com/webhelp/topics/2365.htm