Foxtable(狐表)用户栏目专家坐堂 → 怎样计算工龄


  共有12213人关注过本帖平板打印复制链接

主题:怎样计算工龄

帅哥哟,离线,有人找我吗?
don
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1812 积分:12993 威望:0 精华:14 注册:2008/10/11 18:07:00
  发帖心情 Post By:2011/9/15 13:01:00 [只看该作者]

參考


示例

例如年龄列由出生日期计算得出,我们将DataColChanged事件设为:

If e.DataCol.Name = "出生日期" Then
    If 
e.DataRow.IsNull("出生日期") Then '如果没有输入出生日期
        
e.DataRow("年龄") = Nothing '则清空年龄
    Else
    
    '否则计算年龄
        
e.DataRow("年龄") = Date.Today.Year - e.DataRow("出生日期").Year

    End If
End If

如果到了明年,需要重新计算年龄列,但是除非你重新输入出生日期,否则上面的代码是不会重算年龄的。
不过你可以通过下面的代码,强行针对出生日期列触发DataColChanged,效果就像你重新输入了出生日期一样:

DataTables("员工").DataCols("出生日期").RaiseDataColChanged()

执行某列的RaiseDataColChanged方法,等于“欺骗”性地通知系统:这一列(被重置的列)的内容发生了变化;系统收到这个虚假通知后,开始执行DataColChanged事件代码,间接实现了重算的目的。
显然,为了重新计算年龄,只能执行出生日期列的RaiseDataColChanged方法,因为只有出生日期列的内容发生变化,年龄才会被重算。


 回到顶部
总数 13 1 2 下一页