以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]窗口重置列代码  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=61534)

--  作者:ZHX241806
--  发布时间:2014/12/14 11:59:00
--  [求助]窗口重置列代码
请前辈、老师们写个在窗口表中对列进行重置的按扭代码,谢谢!
--  作者:有点甜
--  发布时间:2014/12/14 12:03:00
--  

 重置列的代码都是一样的。

 

 http://www.foxtable.com/help/topics/1468.htm

 


--  作者:ZHX241806
--  发布时间:2014/12/14 12:12:00
--  

谢谢有点甜老师,我试试看!


--  作者:ZHX241806
--  发布时间:2014/12/14 12:28:00
--  

有点甜老师:在表中重置列很好,但是我想在窗口中对表中的列重置,不知按扭代码怎么写,还望帮忙写一个,谢谢!


--  作者:czy
--  发布时间:2014/12/14 13:00:00
--  

这都一样啊

 

DataTables("表名").DataCols("列名").RaiseDataColChanged()


--  作者:ZHX241806
--  发布时间:2014/12/14 13:04:00
--  
但是这个代码在窗口中好像对逻辑列重置不起作用
--  作者:czy
--  发布时间:2014/12/14 13:09:00
--  
DataColChanged事件代码贴出来看看
--  作者:ZHX241806
--  发布时间:2014/12/14 13:35:00
--  
If e.DataCol.Name = "FNFHF"
    Dim dr As DataRow = e.DataRow
    If dr("FNFHF") = True
        If dr.IsNull("FNGAJR")=False AndAlso dr.IsNull("FDPAJR")=False
           Dim dr1 As DataRow
            If dr("FNGAJR")=dr("FDPAJR")
                dr1= DataTables("FAJGKHDA").AddNew
                dr1("AJGXM") = dr("FNGAJR")
                dr1("KHXM") = dr("KHXM")
                dr1("KHDZ") = dr("KHDZ")
                dr1("FFNGRQ") = dr("FFNGRQ")
                dr1("FFDPRQ") = dr("FFDPRQ")
                dr1("FNGAJFXJ") = dr("FNGAJFXJ")
                dr1("FDPAJFXJ") = dr("FDPAJFXJ")
                dr1("FJXAJFXJ") = dr("FJXAJFXJ")
                dr1("FA") = dr("FA")
                dr1("FSXF") = dr("FSXF")
                dr1("AB") = dr("_Identify")
            Else
                dr1= DataTables("FAJGKHDA").AddNew
                dr1("AJGXM") = dr("FNGAJR")
                dr1("KHXM") = dr("KHXM")
                dr1("KHDZ") = dr("KHDZ")
                dr1("FFNGRQ") = dr("FFNGRQ")
                dr1("FNGAJFXJ") = dr("FNGAJFXJ")
                dr1("FSXF") = dr("FSXF")
                dr1("AB") = dr("_Identify")
                dr1= DataTables("FAJGKHDA").AddNew
                dr1("AJGXM") = dr("FDPAJR")
                dr1("KHXM") = dr("KHXM")
                dr1("KHDZ") = dr("KHDZ")
                dr1("FFDPRQ") = dr("FFDPRQ")
                dr1("FDPAJFXJ") = dr("FDPAJFXJ")
                dr1("FJXAJFXJ") = dr("FJXAJFXJ")
                dr1("FA") = dr("FA")
                dr1("FSXF") = dr("FSXF")
                dr1("AB") = dr("_Identify")
            End If
        End If
    Else
        Dim drs As List(of DataRow) = DataTables("FAJGKHDA").Select("AB=" & dr("_Identify"))
        For Each dr1 As DataRow In drs
            dr1.Delete
        Next
    End If
End If
上面这段代码:FNFHF为逻辑列
--  作者:有点甜
--  发布时间:2014/12/14 14:09:00
--  

表名、列名写对,就肯定没有问题。

 

DataTables("表A").DataCols("FNFHF").RaiseDataColChanged()


--  作者:ZHX241806
--  发布时间:2014/12/14 16:43:00
--  
谢谢老师,是我把一个字母输错了,这里我再想问一下老师:如果对窗口表中任意选择列进行重置的话,那代码怎么写呢