以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 计算天数 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69659) |
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:33:00 -- 计算天数 表的数据窗口添加如图 窗口控件上分别有入院日期,住院第二天,住院第三天,住院第七天,出院日期,住院天数等控件,其中入院日期和出院日期手工录入,其他三个控件自动添加日期和住院天数,请问大师这些控件的代码,谢谢!!!
|
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:34:00 -- 图 |
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:35:00 -- 此主题相关图片如下:qq图片20150608212658.png |
||||
-- 作者:大红袍 -- 发布时间:2015/6/8 21:37:00 -- 参考
http://www.foxtable.com/help/topics/0260.htm
http://www.foxtable.com/help/topics/1452.htm |
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:54:00 -- DataColChanged事件中加入下面的代码:
select Case e.DataCol.NameCase "开始日期","完成日期" Dim dr As DataRow = e.DataRow If dr.IsNull("开始日期") OrElse dr.IsNull("完成日期") Then dr("执行天数") = Nothing Else Dim tp As TimeSpan = dr("完成日期") - dr("开始日期") dr("执行天数") = tp.TotalDays End If End Select 如果窗口中的“住院天数”控件上写代码的话,在那个事件中写?
|
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:55:00 -- 我改的代码: Select Case e.DataCol.Name Case "入院日期","出院日期" Dim dr As DataRow = e.DataRow If dr.IsNull("入院日期") OrElse dr.IsNull("出院日期") Then dr("住院天数") = Nothing Else Dim tp As TimeSpan = dr("出院日期") - dr("入院日期") dr("住院天数") = tp.TotalDays End If End Select
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/8 21:57:00 -- 呃,你的控件,不是绑定列的么?修改了列的值,控件的值就会变了。 |
||||
-- 作者:ayiken -- 发布时间:2015/6/8 21:58:00 -- 我的例子
|
||||
-- 作者:大红袍 -- 发布时间:2015/6/8 22:06:00 -- Select Case e.DataCol.Name Case "入院日期","出院日期" Dim dr As DataRow = e.DataRow If dr.IsNull("入院日期") OrElse dr.IsNull("出院日期") Then dr("住院天数") = Nothing Else Dim tp As TimeSpan = dr("出院日期") - dr("入院日期") dr("住院天数") = tp.TotalDays If tp.TotalDays > 1 Then dr("住院第二天") = dr("入院日期").AddDays(1) End If If tp.TotalDays > 6 Then dr("住院第七天") = dr("入院日期").AddDays(6) End If End If End Select |
||||
-- 作者:ayiken -- 发布时间:2015/6/8 23:10:00 -- 非常感谢!! 出院日期尚未填写(病人在院时)时候第二天和第七天怎么算,上面代码入院日期和出院日期都填写的情况下有效,
|