Foxtable(狐表)用户栏目专家坐堂 → [求助]代码编写


  共有2682人关注过本帖树形打印复制链接

主题:[求助]代码编写

帅哥哟,离线,有人找我吗?
jygyyl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
[求助]代码编写  发帖心情 Post By:2015/8/14 10:53:00 [只看该作者]

下面代码注释掉的三行有问题,但不知如何修改,求老师指教!谢谢!

If e.DataCol.Name = "发放状况" AndAlso e.DataRow("发放状况") = True Then
    Dim dr As DataRow = DataTables("TXJL_W0110").AddNew
    For Each dc As DataCol In DataTables("TXJL_W0110").DataCols
        dr("GB103") = e.DataRow("GB103")
        dr("HGB103") = e.DataRow("HGB103")
        dr("GS901") = e.DataRow("GS901")
        dr("GB000") = e.DataRow("GB000")
        dr("GB001") = e.DataRow("GB001")
        dr("GS601") = e.DataRow("GS601")
        dr("GS602") = e.DataRow("GS602")
        '         dr("GS603") = e.DataRow("GS603").Replace("-",".")
        dr("GS604") = e.DataRow("GS604")
        dr("HGS604") = e.DataRow("HGS604")
        dr("GS605") = e.DataRow("GS605")
        dr("GS606") = e.DataRow("GS606")
        'dr("GS607") = e.DataRow("GS607").SubString(11,16)
        dr("GS608") = e.DataRow("GS608")
        dr("HGS608") = e.DataRow("HGS608")
        '         dr("GS1002") = e.DataRow("GS1002")
        dr("GS999") = e.DataRow("GS999")
        dr("HGS601") = e.DataRow("HGS601")
        dr("GS609") = e.DataRow("GS609")
        dr("HGS609") = e.DataRow("HGS609")
    Next
End If


dr("GS603") = e.DataRow("GS603").Replace("-",".")
是想把数据格式由2015-08-14转换为2015.08.14

        'dr("GS607") = e.DataRow("GS607").SubString(11,16)
是想把字符串截短
[此贴子已经被作者于2015/8/14 11:01:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/14 11:17:00 [只看该作者]

GS603必须是字符列,才能这样写代码

 

dr("GS603") = e.DataRow("GS603").Replace("-",".")

 

这个报什么错

 

dr("GS1002") = e.DataRow("GS1002")

 

这个要考虑字符是否足够的情况

 

If e.DataRow("GS607").Length >= 16

    dr("GS607") = e.DataRow("GS607").SubString(11, 6)

End If


 回到顶部
帅哥哟,离线,有人找我吗?
jygyyl
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
谢谢大红袍老师  发帖心情 Post By:2015/8/14 11:26:00 [只看该作者]

谢谢大红袍老师!我再试试。
第一、第二都是要将日期列转为字符型
第三,应该是字符长度的问题

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/14 11:41:00 [只看该作者]

1、2报什么错?

 


 回到顶部
帅哥哟,离线,有人找我吗?
jygyyl
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(大红袍)1、2报什么错?   发帖心情 Post By:2015/8/14 11:59:00 [只看该作者]

        dr("GS603") = e.DataRow("GS603").Replace("-",".")
表A"GS603"是日期列,表B"GS603"是字符型,报错如下:
.NET Framework 版本:2.0.50727.8662
Foxtable 版本:2014.11.11.1
错误所在事件:表,TXJL_TXJL,DataColChanged
详细错误信息:
调用的目标发生了异常。
未找到类型“Date”的公共成员“Replace”。

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/8/14 12:00:00 [只看该作者]

dr("GS603") = Cstr(e.DataRow("GS603")).Replace("-",".")

 

或者

 

dr("GS603") = Format(e.DataRow("GS603"), "yyyy.MM.dd")


 回到顶部