以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  datatable的haschanges方法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132908)

--  作者:jackchan120925
--  发布时间:2019/4/1 23:47:00
--  datatable的haschanges方法
老师您好,关于datatable的如下几个方法和属性不是理解,望知道。
1,haschanges
经测试,只能撤销未保存过的内容(也就是行标记为红色或者橙色的内容),一单保存后,haschanges就变成了false,那么这个属性在实际应用这有什么应用场景吗?
我能想到的就是判断表中有没有未保存的内容,然后提醒保存这样吗?

2,save(setting)
这个setting设置为true的时候,保存数据的同时,保存设置,这个设置是指什么?数据格式吗? 数据格式不是通过列属性已经固定了吗?也就是我的理解下,setting参数无论怎么设置,效果都是一样的。

3,acceptchanges
想不出实际项目中有什么应用,能举个例子吗?

4,buildheader
帮助中举的例子如下:

With DataTables("表A")
    .DataCols(
"第一列").Caption = "一季度_东部"
    .DataCols(
"第二列").Caption = "一季度_西部"
    .BuildHeader()

End
With


相当于在项目初始化中动态的设置表头,这个实际中感觉不可能会这么用,一般都是应该在表格中设置好了,实际的应用能否举个例子,谢谢




--  作者:有点甜
--  发布时间:2019/4/2 10:06:00
--  

1、应用场景多了,到你需要的时候,都需要这个haschanges辅助。

 

2、比如你手动修改了列宽,你保存表格,不会保存你这个设置的。要加上true,才行。

 

3、比如你用sql语句更新了你表格内容,那你自然不想foxtable再帮你保存一次,那这个时候可以用。

 

4、动态修改表结构的时候,就会用到。

 

5、各个知识点,只需要简单记住,你遇到实际需求的时候,回忆起有对应的知识,灵活运用进来即可。


--  作者:jackchan120925
--  发布时间:2019/4/2 20:06:00
--  
谢谢, 因为很多不理解应用场景往往看过后无法留下印象。

2,save(setting)
对于调整表格中列的位置,是不是也算是保存设置。


然后对于datarow中的属性方法。
1,关于rowstate,经过测试,显示的都是数值,比如added是4,该如何找出datarowstate枚举行的对应文字值
2,在方法 SQLinsertfile中,有提到如下问题。
a,“Datarow的一个方法用于向二进制列中插入文件”, “” 二进制列“”是什么概念
b,提示:请自行思考一下,为什么新增行必须先保存才能插入文件呢?--------------不解,如何解答呢?我测试了下,把列设置成多文件,新增列,没有保存也可以插入附件啊

--  作者:有点蓝
--  发布时间:2019/4/2 20:46:00
--  
对于调整表格中列的位置,是不是也算是保存设置。 -- 是的

1、Output.Show(DataTables("表A").DataRows(0).RowState.Tostring)

2、二进制列是数据库一种特殊类型的列,用于存储文件的二进制流数据。就是把文件内容从硬盘中读取到内存中,一般以字节的方式存在,然后把这些字节存入数据库。这样就算本地把文件删除了,也能从数据库中还原文件。

把列设置成多文件,这个列仅仅是保存了文件的路径,而不是保存整个文件的内容,文件仍然在硬盘中,如果删除了就没有了。