Foxtable(狐表)用户栏目专家坐堂 → [求助]DataColChanged事件中的代码改到AfterEdit事件中?


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

主题:[求助]DataColChanged事件中的代码改到AfterEdit事件中?

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


加好友 发短信
等级:五尾狐 帖子:1135 积分:11105 威望:0 精华:2 注册:2008/9/1 10:45:00
[求助]DataColChanged事件中的代码改到AfterEdit事件中?  发帖心情 Post By:2010/3/16 14:53:00 [显示全部帖子]

If e.DataCol.Name = "检查编号" Then
    Dim dt As DataTable = DataTables("序号")
    Dim r As DataRow
    r = dt.Find("[检查编号] = '" & e.datarow("检查编号") & "'")
    If r IsNot Nothing
        e.datarow("单位") = r("单位")
        e.datarow("检查时间") = r("检查时间")
        e.datarow("日序") = e.datarow("检查编号") & e.DataRow("_Identify")
    end if
end if
这段代码是表事件DataColChanged中的,执行正常,由于在导入数据时也触发DataColChanged事件,由于“日序”列是根据“编号”和("_Identify")生成的,导入时该列内容会变。我想把这段代码改到AfterEdit事件中:改成这样确不执行:
If e.col.DataCol.Name = "检查编号" Then
    Dim dt As DataTable = DataTables("序号")
    Dim r As DataRow
    r = dt.Find("[检查编号] = '" & e.row.datarow("检查编号") & "'")
    If r IsNot Nothing
        e.row.datarow("单位") = r("单位")
        e.row.datarow("委派会计") = r("委派会计")
        e.row.datarow("检查时间") = r("检查时间")
        e.row.datarow("单位") = r("单位")
        e.row.datarow("使用单位") = r("使用单位")
        e.row.datarow("日序") = e.row.datarow("检查编号") & e.row.DataRow("_Identify")
    end if
end if
请问应该怎么改?
或者有什么办法在导入数据时屏蔽DataColChanged事件也可以。谢谢大家!

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


加好友 发短信
等级:五尾狐 帖子:1135 积分:11105 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2010/3/16 15:24:00 [显示全部帖子]

If e.col.DataCol.Name = "检查编号" Then
改成:
If e.DataCol.Name = "检查编号" Then 在编辑器中提示错误:

图片点击可在新窗口打开查看此主题相关图片如下:q1.bmp
图片点击可在新窗口打开查看

 r = dt.Find("[检查编号] = '" & e.row.datarow("检查编号") & "'")
改成:
 r = dt.Find("[检查编号] = '" & e.datarow("检查编号") & "'") 在编辑器中提示错误:

图片点击可在新窗口打开查看此主题相关图片如下:q2.bmp
图片点击可在新窗口打开查看

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


加好友 发短信
等级:五尾狐 帖子:1135 积分:11105 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2010/3/16 15:51:00 [显示全部帖子]

老大改成这样了,编辑器通过了,可是就是不执行啊!!硬着头皮再问!!

If e.col.Name = "检查编号" Then
    Dim dt As dataTable = dataTables("序号")
    Dim r As dataRow
    r = dt.Find("[检查编号] = '" & e.row("检查编号") & "'")
    If r IsNot Nothing
        e.row("单位") = r("单位")
        e.row("委派会计") = r("委派会计")
        e.row("检查时间") = r("检查时间")
        e.row("使用单位") = r("使用单位")
        e.row("日序") = e.row("检查编号") & e.row("_Identify")
    end if
end if

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


加好友 发短信
等级:五尾狐 帖子:1135 积分:11105 威望:0 精华:2 注册:2008/9/1 10:45:00
  发帖心情 Post By:2010/3/16 16:02:00 [显示全部帖子]

多谢,就用这招了,老大就是老大。哈哈

 回到顶部