以文本方式查看主题
- Foxtable(狐表) (http://www.foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://www.foxtable.com/bbs/list.asp?boardid=2)
---- [求助]字符转日期的DataColChanged事件 (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=130064)
|
-- 作者:天一生水
-- 发布时间:2019/1/11 22:45:00
-- [求助]字符转日期的DataColChanged事件
如图,如果手动在字符型的[合并日期]列录入数据,会触发DataColChanged事件,如果[合并日期]的新数据是代码生成的,就不会触发事件代码,是什么原因?
DataColChanged代码:
Select Case e.DataCol.Name Case "合并日期" \'此列为字符型 If e.DataRow.isnull("合并日期") Then e.DataRow("开庭日期") = Nothing \'此列为日期型 Else e.DataRow("开庭日期") = e.DataRow("合并日期") End If End Select
此主题相关图片如下:截屏图片1.jpg
|
-- 作者:有点蓝
-- 发布时间:2019/1/11 22:58:00
--
新数据是什么代码生成的?
我测试没有问题
|
-- 作者:天一生水
-- 发布时间:2019/1/12 6:26:00
--
蓝老师好!我做个实例,你把红框内容剪切下来,再粘贴回原处,代码没运行。 此主题相关图片如下:截屏图片1.jpg
|
-- 作者:有点蓝
-- 发布时间:2019/1/12 10:00:00
--
我测试没有问题。哪一段代码没有运行?
把项目里的bin目录删除,然后重启项目测试
|
-- 作者:天一生水
-- 发布时间:2019/1/12 10:15:00
--
是DataColChanged的最后一段代码,要手动重置[合并日期],[开庭日期]才出现数据:
Select Case e.DataCol.Name Case "合并日期" \'此列为字符型 If e.DataRow.isnull("合并日期") Then e.DataRow("开庭日期") = Nothing \'此列为日期型 Else e.DataRow("开庭日期") = e.DataRow("合并日期") End If End Select
|
-- 作者:天一生水
-- 发布时间:2019/1/12 10:17:00
--
此主题相关图片如下:gif.gif
|
-- 作者:有点蓝
-- 发布时间:2019/1/12 10:31:00
--
这个是正常的啊,上面代码使用了systemready = False,屏蔽了。
而且也不合理啊,从上面的代码来看,合并日期是字符列,可能会填入多个日期值【dr1.lines("合并日期") = ls2】,这种是无法转换为"开庭日期"一个日期的。
如果"合并日期"只有一个日期值,在第一段代码同时也赋值给开庭日期不就行了
|