以文本方式查看主题

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

--  作者:kgdwxfmqj520
--  发布时间:2013/12/2 13:13:00
--  如何全选逻辑列

如何全选逻辑列???

Dim gx As WinForm.CheckBox = e.Form.Controls("全部选中")

For Each r As Row In Tables("出库明细表").Rows
    If gx.Checked = True Then
        r.Checked = True
    Else
        r.Checked = False
    End If
Next

 

按上面该怎么改?


--  作者:狐狸爸爸
--  发布时间:2013/12/2 13:59:00
--  

Dim gx As WinForm.CheckBox = e.Form.Controls("全部选中")

For Each r As Row In Tables("出库明细表").Rows
    If gx.Checked = True Then
        r.Checked = False
    Else
        r.Checked = True
    End If
Next

 

或者:

 

Dim gx As WinForm.CheckBox = e.Form.Controls("全部选中")

For Each r As Row In Tables("出库明细表").Rows
         r.Checked = True
 Next


--  作者:blackzhu
--  发布时间:2013/12/2 14:10:00
--  

Dim gx As WinForm.CheckBox = e.Form.Controls("全部选中")

For Each r As Row In Tables("出库明细表").Rows
         r(逻辑列") = gx.
Checked = True

 Next


--  作者:程兴刚
--  发布时间:2013/12/2 17:00:00
--  

If e.Form.Controls("全部选中").Checked

     DataTables("出库明细表").ReplaceFor("逻辑列",True, "逻辑列 = false")

end if


--  作者:程兴刚
--  发布时间:2013/12/2 17:04:00
--  

甚至可以这样:

 

If e.Form.Controls("全部选中").Checked

     DataTables("出库明细表").ReplaceFor("逻辑列",true)

end if

 

如果想根据复选框同步全选或全取消,那就更简单:

 

Dim gx As WinForm.CheckBox = e.Form.Controls("全部选中")

DataTables("出库明细表").ReplaceFor("逻辑列",gx.Checked)