以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请假天数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=54416)

--  作者:tujiu
--  发布时间:2014/7/28 8:58:00
--  请假天数

帮我看一下代码,为什么不能显示出天数,总是显示1.

Dim d1 As Date = e.Form.Controls("开始时间").value
Dim d2 As Date = e.Form.Controls("结束时间").value
Dim t As TimeSpan = d2 - d1

e.Form.Controls("请假天数").value = (t.Hours - 9)/24 + 1

 

 


--  作者:Bin
--  发布时间:2014/7/28 9:02:00
--  
你想计算什么?
--  作者:tujiu
--  发布时间:2014/7/28 9:02:00
--  
请假天数
--  作者:有点甜
--  发布时间:2014/7/28 9:04:00
--  

 你的控件是不是绑定了列?

 

Dim d1 As Date = e.Form.Controls("开始时间").value
Dim d2 As Date = e.Form.Controls("结束时间").value
Dim t As TimeSpan = d2 - d1

e.Form.Controls("请假天数").value = (t.Hours - 9)/24 + 1
msgbox(t.Hours - 9)/24 + 1)

 

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

 

 


--  作者:tujiu
--  发布时间:2014/7/28 9:11:00
--  
没有绑定,算出的值显示在Textbox中,然后通过添加按钮在把天数赋值到列里去。
--  作者:有点甜
--  发布时间:2014/7/28 9:13:00
--  
以下是引用tujiu在2014-7-28 9:11:00的发言:
没有绑定,算出的值显示在Textbox中,然后通过添加按钮在把天数赋值到列里去。

 

那就是你的计算公式有问题。

 

Dim d1 As Date = e.Form.Controls("开始时间").value
Dim d2 As Date = e.Form.Controls("结束时间").value
Dim t As TimeSpan = d2 - d1

e.Form.Controls("请假天数").value = (t.TotalHours - 9)/24 + 1


--  作者:Bin
--  发布时间:2014/7/28 9:14:00
--  
请假天数不是直接   t.TotalDays 的吗?
--  作者:Bin
--  发布时间:2014/7/28 9:15:00
--  
t.Hours 是获得小时部分  比如3天11小时. 那么t.Hours  就是11小时   11-9/ 24+1 不是很明白你是在计算什么呢.
--  作者:Bin
--  发布时间:2014/7/28 9:16:00
--  
t.TotalHours 才是获得总小时数  
--  作者:tujiu
--  发布时间:2014/7/28 9:21:00
--  

明白了,多谢!