DataTables("房态表").DataRows.Clear()
Dim sd As WinForm.DateTimePicker =e.form.Controls("StartDate")
Dim ed As WinForm.DateTimePicker =e.form.Controls("EndDate")
Dim ds As WinForm.TextBox =e.Form.Controls("TextBox1")
Dim dt1 As Date = sd.value
Dim dt2 As Date = ed.Value
Dim d As Integer =ds.Value
Dim b1 As Integer = iif(CStr(format(dt1,"yyMMdd"))="010101",0,100)
Dim b2 As Integer = iif(CStr(format(dt2,"yyMMdd"))="010101",0,10)
Dim b3 As Integer = iif(d=Nothing,0,1)
Dim b As Integer =b1+b2+b3
Select Case b
Case 0 '都为空
sd.Value=Date.Today : ds.value=1 : ed.Value=sd.Value.AddDays(ds.value)
Case 1 '统计天数不为空
sd.Value=Date.Today : ed.Value=sd.Value.AddDays(ds.value)
Case 10 '结束时间不为空
ds.value=iif((dt2-Date.Today).Days>0,(dt2-Date.Today).days,1) : sd.value=dt2.adddays(0-ds.value)
Case 100 '起始时间不为空
ds.value=iif((dt1-Date.Today).Days>=0,1,(Date.Today-dt1).days) : ed.value=dt1.adddays(ds.value)
Case 11 '结束时间,统计天数部位空
sd.value=dt2.adddays(0-ds.value)
Case 101 '起始时间,统计天数不为空
ed.value=dt1.adddays(ds.value)
Case Else '否则,重新计算统计天数,以免认为修改了统计天数,导致不符
ds.value=(dt2-dt1).Days
End Select
Dim tp As timespan = dt2 - dt1
For i As Integer = 0 To tp.TotalDays
Dim dr As DataRow = DataTables("房态表").AddNew
dr("日期") = dt1.AddDays(i)
e.Form.Controls("TextBox1").Value = tp.Days + 1
Next
对于统计天数是否要+1,你自己改下就行了