以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有关逻辑列的勾选问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43331)

--  作者:sanshaoye7717
--  发布时间:2013/12/4 16:03:00
--  有关逻辑列的勾选问题

请教:一个考勤表、有[请假日期]、[请假天数]、[是否请假]为逻辑列、如何实现:在请假日期内[是否请

 

假] 为勾选状态---不在这个范围内、则自动取消勾选 ----请问这样的功能----有能实现的方法吗


--  作者:狐狸爸爸
--  发布时间:2013/12/4 16:12:00
--  

大概如此:

 

1、设置DataColChanged事件代码:
 
Select Case e.Datacol.Name
    Case "请假日期","请假天数"
           if e.datarow.Isnull("请假日期") Orlese e.DataRow.Isnull("请假天数") Then
               e.Datarow("是否请假") = False
            Else
                 Dim d As Date = e.datarow(“请假日期")
                 d= d.AddDays(e.datarow("请假天数") -1)
                 If Date.Today <= d  AndAlso d >= e.datarow(“请假日期") Then
                      e.Datarow("是否请假") = True
                 Else
                     e.Datarow("是否请假") = False
                 End If
            End If
End Select
 
2、在AfterOpenProject加上代码:
DataTables("考勤表").DataCols("请假日期").RaiseDataColChanged()


--  作者:sanshaoye7717
--  发布时间:2013/12/4 16:19:00
--  
明白了、其实设置datacolchanged是有想到的、但是纠结于[是否请假]怎么能自动更新呢?  原来设置afteropenproject就可以了、谢谢狐爸了