以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  复选框  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=142961)

--  作者:outcat
--  发布时间:2019/11/10 13:08:00
--  复选框

图片点击可在新窗口打开查看此主题相关图片如下:11111.png
图片点击可在新窗口打开查看

老师,这个切换类别后,记住选中 复选框的状态呢,需要在哪块加代码呢

--  作者:有点蓝
--  发布时间:2019/11/10 21:05:00
--  
把选中的那一行的主键记录下来

dim lst as new List(of string)
For Each r As Row In Tables("员工").GetCheckedRows
  lst.add(r("_Identify"))
Next

--  作者:outcat
--  发布时间:2019/11/11 9:10:00
--  
Dim lst As new List(of String)
For Each r As Row In Tables("导入商品_Table1").GetCheckedRows
   lst.add(r("_Identify")) 
    If Forms("新增商品采购").opened Then
        Dim r11 As Row = Tables("采购明细表").AddNew
        Dim r12 As Row = Tables("采购总表").Current
        r11("日期") = r12("日期")
        r11("供应商") = r12("供应商")
        r11("采购单号") = r12("采购单号")
        r11("采购员") = r12("采购员")
        r11("登记人") = r12("登记人")
        r11("仓库名称") = r12("仓库名称")
        r11("商品类别") = r("二级类别")
        r11("类别编号") = r("二级编号")
        r11("商品编号") = r("商品编号")
        r11("商品名称") = r("商品名称")
        r11("规格") = r("规格")
        r11("型号") = r("型号")
        r11("单位") = r("单位")
        r11("单价") = r("单价")
    End If
Next
e.Form.close            

老师,这是我 导入  里的代码,加入了你的代码,还是不行,一直是最后选择的那几个商品

--  作者:有点蓝
--  发布时间:2019/11/11 9:38:00
--  
这个代码只是导入,和切换类别有什么关系?另外这个代码只是记录了勾选的行,也并没有还原的用法。

--  作者:outcat
--  发布时间:2019/11/11 9:48:00
--  
那这个记住了勾选,我要最后一下子把记住勾选的行全部导入呀,可现在是一切换选择别的类的商品,勾选记录既取消了,这个还能怎么解决了,请老师明示
--  作者:有点蓝
--  发布时间:2019/11/11 9:51:00
--  
那要在切换选择别的类的商品那里写代码处理啊
--  作者:北狐
--  发布时间:2019/12/6 12:53:00
--  
还原用法具体如何?就已勾选的还是正常显示在界面
以下代码无效
Dim lst As new List(of String)
For Each r As Row In Tables("销售主表").GetCheckedRows
  lst.add(r("本单单号"))
Next

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("销售主表")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "本单单号 Like " & txt & ""\' Or 本单单号 In "& lst &"" 
End If
[此贴子已经被作者于2019/12/6 12:55:01编辑过]

--  作者:有点蓝
--  发布时间:2019/12/6 13:50:00
--  
Dim lst As new List(of String)
For Each r As Row In Tables("销售主表").GetCheckedRows
    lst.add(r("本单单号"))
Next

Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("销售主表")
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "本单单号 Like " & txt & ""\' Or 本单单号 In "& lst &""
End If

For Each r As Row In Tables("销售主表").Rows
    If  lst.Contains(r("本单单号")) Then
        r.Checked = True
    End If
Next

--  作者:北狐
--  发布时间:2019/12/6 14:17:00
--  
老师,用你的代码还是不行,已选的复选框还是会被取消掉,然后没有一直显示在界面上(我试着了辅助列(是否检查),但复选框的状态和辅助列无法同步(就是可以通过复选框更新辅助列,但复选框与当前辅助列的状态未同步)
[此贴子已经被作者于2019/12/6 14:26:02编辑过]

--  作者:有点蓝
--  发布时间:2019/12/6 14:30:00
--  
请上传实例说明