Foxtable(狐表)用户栏目专家坐堂 → [求助]临时表的Reject


  共有2465人关注过本帖树形打印复制链接

主题:[求助]临时表的Reject

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/26 16:57:00 [显示全部帖子]

要这样测试

 

Dim q As new QueryBuilder
q.TableName = "测试"
q.SelectString = "Select '' as test from {表A}"
q.Build
Dim dt As DataTable = DataTables("测试")
dt.AllowEdit = True
dt.datacols.Add("第二列", Gettype(String))
Dim ndr As DataRow = dt.addnew
ndr("第二列") = "123456"
msgbox(123)
ndr.Reject


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/26 17:28:00 [显示全部帖子]

请用2楼的方法生成临时表。直接用DataTableBuilder生成的临时表,是无法检测值变化的。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 10:34:00 [显示全部帖子]

以下是引用blsu33在2017/12/27 10:32:00的发言:
2楼  DataTables("测试") 有自己的 _locked 等系统列吗?
是否需要增加一列进行锁定?

 

有_Locked列,没有_Identify、_Sortkey列,你可以动态添加那些列,如

 

q.SelectString = "Select _Identify, _Sortkey, _Locked, 其它列 as test from {表A}"


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 10:44:00 [显示全部帖子]

1、可以用sqlTable或者sqlQuery,也就是直接fill进去,然后增加列。

 

2、也可以用queryBuilder添加表,然后绑定进去,但事件代码需要写到【全局表】事件。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 11:39:00 [显示全部帖子]

我这样测试没问题

 

Tables("窗口1_table2").fill("select * from {表A}", False)
Tables("窗口1_table2").AllowEdit = True

 

---------------------

 

Tables("窗口1_table2").DataTable.ReplaceFor("_locked", True)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 11:55:00 [显示全部帖子]

改成true

 

Tables("窗口1_table2").Fill(str,sjy99,true)

 

去掉中括号

 

Tables("窗口1_table2").DataTable.ReplaceFor("_locked", True)


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 12:08:00 [显示全部帖子]

做个例子发上来测试,我测试没问题。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 12:20:00 [显示全部帖子]

测试你的例子,没问题,需要锁定的时候,就执行代码,一定有效

 

Tables("窗口1_table2").DataTable.ReplaceFor("_locked", True)

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 12:27:00 [显示全部帖子]

以下是引用blsu33在2017/12/27 12:24:00的发言:
呃呃呃 不会是 WIN7 问题吧 窗口 TABLE2 允许直接编辑 也是没有锁定啊

 

以下是引用blsu33在2017/12/27 12:17:00的发言:
问题是 Table2 没有锁定
          Table2 的行状态 还是不对  好像 表事件 也没有触发(例如窗口1 的保存按钮) 

 

测试,没问题。请说明测试步骤或者单独做一个简单的例子发上来测试。

 

建议自己新建一个窗口单独测试功能吧,先理解代码再加到自己项目去。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/12/27 14:22:00 [显示全部帖子]

add添加的列无效

 

Tables("窗口1_table2").DataTable.datacols.Add("controlatbold", Gettype(String))

 

改成在select语句那里添加列,如 Tables("窗口1_table2").fill("select *, '' as 临时列 from {表A}", True)


 回到顶部
总数 12 1 2 下一页