以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 分段连续输入一段时间怎么设置代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27117)
|
-- 作者:ramen
-- 发布时间:2012/12/22 15:01:00
-- 分段连续输入一段时间怎么设置代码
如图01所示,我在开始那里输入2012-12-03,在结束那里输入2012-12-08,点确认,一段时间就出现在婚假明细那里,然后我想继续输入一段时间,从2012-12-12到2012-12-19,点确定,之后一段时间就继续跟着之前的一段时候的后面,输入到婚假明细的那里,效果如图02所示。不知道怎么设置代码呢?请教一下高手!
[此贴子已经被作者于2012-12-22 15:04:26编辑过]
|
-- 作者:lin_hailun
-- 发布时间:2012/12/22 15:17:00
--
把你datacolchanged事件里的第一段替换成。
Select Case e.DataCol.name Case "婚假_开始","婚假_结束" Dim dr As DataRow = e.DataRow If dr.IsNull("婚假_开始") = False And dr.IsNull("婚假_结束") = False dr("婚假") += DateDiff("d",dr("婚假_开始"),dr("婚假_结束")) Dim s As String For i As Integer = 0 To dr("婚假") s = s & "," & Format(dr("婚假_开始").AddDays(i),"MM-dd") Next dr("婚假明细") += s.Trim(",") End If End Select
|
-- 作者:ramen
-- 发布时间:2012/12/22 15:27:00
--
我试了一下,已经可以跟着后面添加了,但是,后加一段时间多出了4天
[此贴子已经被作者于2012-12-22 15:33:20编辑过]
|
-- 作者:ramen
-- 发布时间:2012/12/22 15:31:00
-- 回复:(lin_hailun)?把你datacolchanged事件里...
我输入了1号到3号,又输入了11号到13号,结果后面多出了14号到17号的,你看一下,怎么回事? 此主题相关图片如下:03.png
[此贴子已经被作者于2012-12-22 15:32:58编辑过]
|
-- 作者:lin_hailun
-- 发布时间:2012/12/22 15:43:00
--
好的,再改一下
Select Case e.DataCol.name Case "婚假_开始","婚假_结束" Dim dr As DataRow = e.DataRow If dr.IsNull("婚假_开始") = False And dr.IsNull("婚假_结束") = False dr("婚假") += DateDiff("d",dr("婚假_开始"),dr("婚假_结束")) Dim s As String For i As Integer = 0 To DateDiff("d",dr("婚假_开始"),dr("婚假_结束")) s = s & "," & Format(dr("婚假_开始").AddDays(i),"MM-dd") Next dr("婚假明细") += s.Trim(",") End If End Select
|
-- 作者:ramen
-- 发布时间:2012/12/22 16:03:00
--
ok啦,谢谢!真是博大精深啊,这样都可以!
|