以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  单价,如何能引用过来  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84477)

--  作者:szsmall
--  发布时间:2016/5/3 14:34:00
--  单价,如何能引用过来

在录入窗口,单击“价格”按钮,根据"材料名称","规格型号","单位",将单价导过来,没有的为空。

 


此主题相关图片如下:计划单录入 单价 导入 界面.jpg
按此在新窗口浏览图片

此主题相关图片如下:计划单录入 材料表.jpg
按此在新窗口浏览图片

 

 

根据帮助,写出以下代码,可以在DataColChanged用。想在“价格”按钮的click里,如何实现。

 

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)
            If pr IsNot Nothing Then
                dr("单价") = pr("单价")
            End If
        End If
End Select

[此贴子已经被作者于2016/5/3 14:36:31编辑过]

--  作者:大红袍
--  发布时间:2016/5/3 14:56:00
--  

点击按钮,是所有行都引入,还是当前行引入?下面代码可以把当前行的单价引入

 

Dim dr As row = e.Form.Controls("Table1").Table
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)
    If pr IsNot Nothing Then
        dr("单价") = pr("单价")
    End If
End If


--  作者:大红袍
--  发布时间:2016/5/3 14:57:00
--  

一次性所有行,参考代码

 

For Each dr As Row In e.Form.Controls("Table1").Table.rows
    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)
        If pr IsNot Nothing Then
            dr("单价") = pr("单价")
        End If
    End If
Next