以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]刷新同步某些列值 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=74813) |
||||
-- 作者:huhu -- 发布时间:2015/9/19 18:35:00 -- [求助]刷新同步某些列值 BUG录入表如果修改了某一行的值,那么同时也应该修改BUG研发表的对应的值(同一个BUG ID) 按照帮助,可是发现msgbox(1),msgbox(2),msgbox(3)执行后BUG研发表的值是改了,但是执行到msgbox(4)后就还原为之前的值了。这是什么原因? BUG录入表的提交按钮click代码如下: Dim s As String = "BUG_ID = \'" & r("BUG_ID") & "\'" Dim fr As DataRow = DataTables("BUG研发表").SQLFind(s) If fr Is Nothing Then Dim dr As DataRow = DataTables("BUG研发表").AddNew() dr("BUG_ID") = r("BUG_ID") dr.save MessageBox.show("BUG编号:" & r("BUG_ID") & "此BUG故障已通知研发,请静静的耐心等待牛人研发:" & r("模块维护人") & "解决!","博达BUG综合管理系统") Else r.Load() LockBaseMainForm() DataTables("BUG研发表").StopRedraw msgbox(1) DataTables("BUG研发表").RemoveFor(s) msgbox(2) DataTables("BUG研发表").Appendload(s) msgbox(3) DataTables("BUG研发表").ResumeRedraw msgbox(4) UnLockBaseMainForm() MessageBox.show("BUG编号:" & r("BUG_ID") & "此BUG故障信息已修改,并通知研发,请静静的耐心等待研发" & r("模块维护人") & "解决!","博达BUG综合管理系统") End If msgbox(5) DataTables("BUG研发表").Save() DataTables("BUG录入表").Save()
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/20 13:00:00 -- 代码没问题,做例子上来测试。 |
||||
-- 作者:huhu -- 发布时间:2015/9/21 16:29:00 -- 开发者用户名liujiyong@bdcom.com.cn pwd:liujy 你用户名:libin@bdcom.com.cn pwd:bdcom 测试 在BUG录入系统,先随便构造数据,点击提交,然后修改这BUG ID的某些数据,在BUG研发表看看数据是否已经改过了,我测试了没改过。 请大红袍帮忙看看。
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/21 16:58:00 -- bug录入表
dr.save |
||||
-- 作者:huhu -- 发布时间:2015/9/21 17:50:00 -- 加上dr.save 出错 .NET Framework 版本:2.0.50727.8009 Foxtable 版本:2014.11.11.1 错误所在事件:表,BUG录入表,DataColChanged 详细错误信息: 调用的目标发生了异常。 未将对象引用设置到对象的实例。 但我检测了2遍,发现datacolname都是对的,不知道哪里出错?请帮忙再看一下。谢谢。
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/21 19:15:00 -- 这种问题,请加入msgbox测试啊
http://www.foxtable.com/help/topics/1485.htm
|
||||
-- 作者:huhu -- 发布时间:2015/9/22 10:26:00 -- 这段代码本身是不是就有问题啊。 select case和end select无法左边对齐。 另外之前的没有dr.save没有报错,加上dr.save就开始报错。 msgbox(1)和msgbox(3)执行,msgbox(2)和msgbox(4)没有执行。‘ Select Case e.DataCol.name Case "测试机型","软件版本","现象描述","发现阶段","严重程度","优先级别","怀疑模块","附件","附件目录" Dim dr As DataRow = DataTables("BUG研发表").SQLFind("BUG_ID = \'" & e.DataRow("BUG_ID") & "\'") msgbox(1) If dr IsNot Nothing Then msgbox(2) dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name) End If msgbox(3) dr.save msgbox(4) End Select
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/22 10:29:00 -- 这段代码没问题啊,你给研发表赋值的时候,会触发研发表的datacolchanged事件啊,去看里面的代码啊 |
||||
-- 作者:huhu -- 发布时间:2015/9/22 11:00:00 -- 把BUG录入表和BUG研发表的datacolchange代码都看了,也没发现哪里有问题啊。 加上dr.save这行代码,已点击BUG录入系统菜单就报错了。
|
||||
-- 作者:大红袍 -- 发布时间:2015/9/22 11:02:00 -- 看有什么用,你注释掉或者删除掉,再测试。 |