以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  增加行弹出问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147830)

--  作者:zhuxinhui
--  发布时间:2020/3/25 11:29:00
--  增加行弹出问题
Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "月份","选择"
        Dim y As Integer = cint(dr("月份").substring(0,4) )
        Dim m As Integer = cint(dr("月份").substring(4,2)  )
        Dim dt1 As New Date(y, m, 1)
        dr("开始日期") = dt1
        Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m))
        dr("结束日期") =dt2
End Select
图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200325112644.png
图片点击可在新窗口打开查看
是哪出问题了呢,想了大半天

--  作者:zhuxinhui
--  发布时间:2020/3/25 11:29:00
--  
月份列的格式为202002,选择是逻辑值
--  作者:有点蓝
--  发布时间:2020/3/25 11:43:00
--  
比如单元格没有值,或者月份填写不正确的时候比如只输入20204,就出错了

Dim dr As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "月份","选择"
if dr.isnull("月份") = false andalso dr("月份").length = 6
        Dim y As Integer = cint(dr("月份").substring(0,4) )
        Dim m As Integer = cint(dr("月份").substring(4,2)  )
        Dim dt1 As New Date(y, m, 1)
        dr("开始日期") = dt1
        Dim dt2 As New Date(y, m, Date.DaysInMonth(y,m))
        dr("结束日期") =dt2
end if
End Select

--  作者:zhuxinhui
--  发布时间:2020/3/25 12:54:00
--  
多谢