以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  逻辑列全选  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=68321)

--  作者:seal51
--  发布时间:2015/5/14 18:10:00
--  逻辑列全选
在订单主表.订单明细表中有一个逻辑列, 比如已完成, 做一个勾选,起名为全部选择, 如何写代码使勾选后全部选择已完成, 去掉勾选后全部取消已完成
--  作者:seal51
--  发布时间:2015/5/14 18:32:00
--  
自己解决了!
 
复选框名称勾选
复选框标题全部选择

复选框CheckedChanged事件代码

Dim gx As WinForm.CheckBox = e.Form.Controls("勾选")
For Each r As Row In Tables("订单主表.订单明细表").Rows
    r("已下单") = gx.Checked = True  
Next

--  作者:seal51
--  发布时间:2015/5/14 18:41:00
--  

好像不同步?

 

重新打开订单后发现,虽然已下单都打钩了,但是复选框按钮的够是未勾选状态, 需要勾选再勾选代码才能重新起作用?

 

如何加判断,已下单都勾选了, 复选框就处于打钩状态,如果已下单部分勾选,或全部未勾选, 复选框就处于未打钩状态?

 

如何使重新打开订单后勾选复选框的代码立刻起作用而不是勾选两下才起作用呢?


--  作者:大红袍
--  发布时间:2015/5/14 19:37:00
--  

 afterload加入代码

 

Dim gx As WinForm.CheckBox = e.Form.Controls("勾选")
Dim flag As Boolean = True
For Each r As Row In Tables("订单主表.订单明细表").Rows
    If r("已下单") = False Then
        flag = False
        Exit For
    End If
Next

gx.Checked = flag

 


--  作者:seal51
--  发布时间:2015/5/15 11:48:00
--  

非常感谢大红袍的回复, 那么复选框CheckedChanged事件代码也必须写上吗?


--  作者:大红袍
--  发布时间:2015/5/15 11:52:00
--  

 不需要,原本写什么代码,就写什么代码。

 

 afterload要改一下

 

SystemReady = False

Dim gx As WinForm.CheckBox = e.Form.Controls("勾选")
Dim flag As Boolean = True
For Each r As Row In Tables("订单主表.订单明细表").Rows
    If r("已下单") = False Then
        flag = False
        Exit For
    End If
Next

gx.Checked = flag

SystemReady = True


--  作者:seal51
--  发布时间:2015/5/15 14:48:00
--  

谢谢

 


--  作者:seal51
--  发布时间:2017/6/21 23:30:00
--  

当前行勾选“已下单”,已下单复选框为选中状态,换行后,已下单复选框如何返回到没有选中的状态!

[此贴子已经被作者于2017/6/21 23:30:06编辑过]

--  作者:有点色
--  发布时间:2017/6/21 23:50:00
--  
以下是引用seal51在2017/6/21 23:30:00的发言:

当前行勾选“已下单”,已下单复选框为选中状态,换行后,已下单复选框如何返回到没有选中的状态!

[此贴子已经被作者于2017/6/21 23:30:06编辑过]

 

换行后需要获取值?不是可以设置currentChanged事件?


--  作者:seal51
--  发布时间:2017/6/21 23:59:00
--  
没明白?