以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]帮我看看这代码哪错了?怎么不好用呢 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=65979) |
-- 作者:moxuejiahui -- 发布时间:2015/3/26 20:49:00 -- [求助]帮我看看这代码哪错了?怎么不好用呢 Select Case e.DataCol.Name Case "颜色","名称","全半盖" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("名称") = True OrElse dr.IsNull("颜色") = True Then dr("产品编号") = Nothing Else Dim filter As String filter = "名称 = \'" & dr("名称") & "\' And 颜色 = \'" & dr("颜色") & "\' And 全半盖 = \'" & dr("全半盖") & "\'" pr = DataTables("订单明细").Find(filter) If pr IsNot Nothing Then dr("产品编号") = pr("产品编号") Else Dim s1 As String = dr("名称") Dim s2 As String = dr("颜色") Dim s3 As String = dr("全半盖") dr("产品编号") =""& s1 &" "& s2 &" "& s3 &"" End If End If End Select
|
-- 作者:有点甜 -- 发布时间:2015/3/26 20:51:00 -- 不好用是什么意思?
你在代码里面加入msgbox,弹出一些值,看是否进入了某些if判断里面 |
-- 作者:moxuejiahui -- 发布时间:2015/3/26 20:54:00 -- 就是说一开始输入这些代码时,能够完成编号,并且改动其中一列会重新编号,但是我把 If dr.IsNull("名称") = True OrElse dr.IsNull("颜色") = True Then变成 If dr.IsNull("名称") = True OrElse dr.IsNull("颜色") = True OrElse dr.IsNull("全半盖") = TrueThen就不好用了,变回原来代码后也还是不能用了 |
-- 作者:有点甜 -- 发布时间:2015/3/26 20:55:00 -- 例子说明,怎么不好用。 |
-- 作者:moxuejiahui -- 发布时间:2015/3/26 21:32:00 -- 找到原因了,因为我是同表索引,所以说会出现混乱改成这样的话会好一点 Select Case e.DataCol.Name Case "颜色","名称","全半盖" Dim dr As DataRow = e.DataRow Dim pr As DataRow If dr.IsNull("名称") OrElse dr.IsNull("颜色") OrElse dr.IsNull("全半盖") Then dr("产品编号") = Nothing Else Dim filter As String filter = "名称 = \'" & dr("名称") & "\' And 颜色 = \'" & dr("颜色") & "\' And 全半盖 = \'" & dr("全半盖") & "\'" pr = DataTables("订单明细").Find(filter) Dim wz As Integer = Tables("订单明细").FindRow(pr) If wz <> Tables("订单明细").Current.Index Then dr("产品编号") = pr("产品编号") Else Dim s1 As String = dr("名称") Dim s2 As String = dr("颜色") Dim s3 As String = dr("全半盖") dr("产品编号") =""& s1 &" "& s2 &" "& s3 &"" End If End If End Select 但是这样的话就只能是最后一行才能正确索引,因为PR找到的是符合条件的第一行,也就是说修改行一下的行使不会索引的,各位大大们谁能想象办法呢
|
-- 作者:有点甜 -- 发布时间:2015/3/26 21:35:00 -- 直接说你想做什么,看不懂你代码到底想表达什么。 |