以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  代码问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97196)

--  作者:lilylily
--  发布时间:2017/3/7 20:37:00
--  代码问题
在狐表里输入订单表的产品型号,产品报价的单价、数量、产品名称等都能在订单表里显示出来,但是再次打开订单表里的产品型号列,其他的都显示不了。请问老师是怎么会事?下面是设置事件的代码

If e.DataCol.Name = "产品型号" Then
    Dim nms() As String = {"产品名称","单价","数量","产品类别"}
    If e.NewValue Is Nothing Then
        For Each nm As String In nms
            e.DataRow(nm) = Nothing
        Next
    Else
        Dim dr As DataRow
        dr = DataTables("产品报价").Find("[产品型号] = \'" & e.NewValue & "\'")
        If dr IsNot Nothing
            For Each nm As String In nms
                e.DataRow(nm) = dr(nm)
            Next
        End If
    End If
End If
[此贴子已经被作者于2017/3/7 20:39:31编辑过]

--  作者:有点蓝
--  发布时间:2017/3/7 21:49:00
--  
保存了吗?

是不是表达式列来的?

--  作者:lilylily
--  发布时间:2017/3/8 19:52:00
--  
是用的表达式,所以出现这种情况,非常感谢老师
再请教老师一个问题,昨天在订单表输入型号保存了,今天打开时把报价表里的型号,单价,数量补上,保存之后再次打开,重新输入型号,但是单价数量出不了。这是什么情况呢。

--  作者:有点色
--  发布时间:2017/3/8 21:19:00
--  

代码是没问题。你加入msgbox,看是否触发了datacolchanged事件,试试重置列 http://www.foxtable.com/webhelp/scr/1469.htm