以文本方式查看主题

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

--  作者:Springamy
--  发布时间:2017/10/30 18:04:00
--  复选框选定问题

如图:我需要的是把表中复选框为选中状态的行添加到Table3中,但是图2这样写的话是

       把Table4的数据全部添加到Table3中了,怎么修改?


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

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


--  作者:有点甜
--  发布时间:2017/10/30 18:07:00
--  

参考

 

http://www.foxtable.com/webhelp/scr/1776.htm

 


--  作者:Springamy
--  发布时间:2017/10/30 19:14:00
--  刷新数据选择问题

如图:添加补偿之后会刷新Table4的数据,但是每次刷新之后当前行会被选中,

       然后第一行就会被添加到Table3中,怎么样把Table3刷新数据之后当前行不会被选中

 


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


 


--  作者:有点蓝
--  发布时间:2017/10/30 20:37:00
--  
贴出完整代码看看
--  作者:Springamy
--  发布时间:2017/10/31 9:18:00
--  

图三为刷新按钮,刷新数据后的代码

 


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

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

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


--  作者:有点甜
--  发布时间:2017/10/31 9:42:00
--  

设置 .position = p 以后,会触发 afterSelRangeChanged 事件,你改一下,如

 

SystemReady = False

.position = p

SystemReady = true

.Rows(p).checked = False


--  作者:Springamy
--  发布时间:2017/10/31 10:14:00
--  

Dim r As Row =Tables("...._Table3").Current
Dim bcid As Integer
If r IsNot Nothing  Then
    bcid= r("bcid")
    With Tables("...._Table4")
        Dim p As Integer
        p= .FindRow("[id]=" & bcid ) \'从当前行的下一行开始查找
        If p >= 0 Then \'如果找到的话

            SystemReady = False           
            .position = p
            SystemReady = True           
            .Rows(p).checked = False           
        End If
    End With   
End If

 

 上面的代码修改了,然,没看出效果

在窗口加载之后或者添加补偿刷新表数据的时候

仍然会选中第一行当前行的复选框,我想要的效果是加载窗口或者刷新数据的时候复选框全部为未选中状态


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

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

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

--  作者:有点甜
--  发布时间:2017/10/31 11:08:00
--  

修改 afterSelRangeChanged  事件代码

 

If vars("stop") = false Then

    \'原来代码

End If

 

刷新的时候,设置 vars("stop") = true

 

刷新以后,或者click事件设置 vars("stop") = False


--  作者:有点甜
--  发布时间:2017/10/31 11:09:00
--  

不会做单独做个实例发上来。


--  作者:cd_tdh
--  发布时间:2017/10/31 14:10:00
--  

老师,复选框导出选定行的报表怎么实现。我之前的是直接选择行导出,不连续的行就不方便,代码如下实现不了:

For Each r As Row In Tables("业绩管理").Rows
    If r.Checked = True Then

        Dim Book As New XLS.Book(ProjectPath & "Attachments\\标签.xlsx") \'打开模板
        Dim fl As String =  ProjectPath &  "Reports\\标签.xlsx"
        Book.Build() \'生成报表
        Book.Save(fl)
        Dim Proc As New Process
        Proc.File = fl
        Proc.Start()

    End If
Next