Select Case e.DataCol.Name Case "开始日期","天数" Dim dr As DataRow dr = e.DataRow If dr.IsNull("开始日期") OrElse dr.IsNull("天数") Then dr("结束日期") = Nothing Else Dim c As Integer = 0 Dim d As Date Dim i As Integer = 0 Dim drs = DataTables("法定假期").Select("") Do While True d = dr("开始日期").AddDays(i) If d.DayOfWeek >= 1 AndAlso d.DayOfWeek <= 5 Then c += 1 For Each cdr As DataRow In drs Dim sd As Date = cdr("开始日期") If sd <= d AndAlso sd.AddDays(cdr("天数")) >= d Then c -= 1 Exit For End If Next End If i += 1 If c = dr("天数") Then Exit Do End If Loop dr("结束日期") = dr("开始日期").AddDays(i) End If End Select
|