以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎样做一下逐行刷新选定列的按钮?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127069)

--  作者:旭日生
--  发布时间:2018/11/4 18:51:00
--  怎样做一下逐行刷新选定列的按钮?
有特殊情况下,重置列或利用RaiseDataColChanged()命令,虽然可获得结果,但不是想要的结果,必须采取逐行逐列地写入数据才能得到正确结果,相当于对表格数据进行循环“1、CTRL+V,2、CTRL+C,3、向下一格”这样的动作。
有否办法做出这样的通用按钮呢?
我用按健精灵配合,可以解决这个问题。但我相信FoxTable自身可以做到。怎样做到呢?

--  作者:有点甜
--  发布时间:2018/11/4 19:33:00
--  

1、你不是可以先删除数据,然后重置列计算?

 

2、具体问题做个实例发上来说明。


--  作者:旭日生
--  发布时间:2018/11/4 21:51:00
--  

 


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

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:test (3).foxdb

[此贴子已经被作者于2018/11/4 21:56:17编辑过]

--  作者:有点甜
--  发布时间:2018/11/4 22:18:00
--  

代码改成

 

Select Case e.DataCol.Name
    Case "类别","编号","日期"
        Dim dr As DataRow = e.DataRow
        Dim fdr As DataRow = e.DataTable.find("编号 = \'" & dr("编号") & "\'", "_sortkey")
        If fdr IsNot Nothing Then
            dr("合成") = dr("编号") & "-" & fdr("类别") & "-" & dr("日期")
        Else
            dr("合成") = dr("编号") & "-" & dr("类别") & "-" & dr("日期")
        End If
End Select


--  作者:旭日生
--  发布时间:2018/11/5 2:15:00
--  
非常感谢。通过研究这个思路,完美解决问题。