以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  代码取值有点问题,帮忙看下  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=16092)

--  作者:lsfdf
--  发布时间:2012/2/2 10:19:00
--  代码取值有点问题,帮忙看下

当月份大于9的时候是正常的,小于的时候应该是2013-07这样的,结果是2013-7-,帮忙看下,谢谢!

If e.DataCol.Name = "有效期" Then
    Dim dt As DataRow = e.DataRow
    If dt.IsNull("有效期") Then
        dt("有效期至") = Nothing
    Else
        Dim t As String=  dt("有效期")
       t= mid(t,1,4) & "-" & Mid(t,6,2)
        dt("有效期至") = t
            End If
End If


此主题相关图片如下:未命名2.jpg
按此在新窗口浏览图片

--  作者:狐狸爸爸
--  发布时间:2012/2/2 10:35:00
--  
If e.DataCol.Name = "有效期" Then
    Dim dt As DataRow = e.DataRow
    If dt.IsNull("有效期") Then
        dt("有效期至") = Nothing
    Else
        Dim t As Date=  dt("有效期")
        t= t.Year & "-" & t.Month
        dt("有效期至") = t
    End If
End If

--  作者:lsfdf
--  发布时间:2012/2/2 11:10:00
--  

谢谢思路,变通了下,不然要报错

If e.DataCol.Name = "有效期" Then
    Dim dt As DataRow = e.DataRow
    If dt.IsNull("有效期") Then
        dt("有效期至") = Nothing
    Else
        Dim t As Date=  dt("有效期")

      dim t1 as string
        t1= t.Year & "-" & t.Month
        dt("有效期至") = t1
    End If
End If

 

比原来的好些了,取出来是:2012-4

 

我还是格式成2012-04 这样的,该如何操作呢