以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求助:为什么选定多行后,渠道商返利单价 的值是相同的单价 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=195084) |
-- 作者:chz007 -- 发布时间:2025/2/20 0:57:00 -- 求助:为什么选定多行后,渠道商返利单价 的值是相同的单价 1。为什么选定多行后,渠道商返利单价 的值是相同的单价 2。单独选定一行,渠道商返利单价 的值是正确单价 Dim tb1 As WinForm.Table = e.Form.Controls("Table1") Dim r1 As Row Dim Names As New List(Of String) For i As Integer = vars("trow") To vars("brow") r1 = tb1.Table.Rows(i) If Names.Contains(r1("行编码")) = False Then \'判断集合是否包括"电视机" Names.Add(r1("行编码")) End If Next For Each djbh As String In names Dim dr As DataRow = DataTables("出入库明细表").Find("行编码=\'" & djbh & "\'") If dr IsNot Nothing Then Dim sr As DataRow sr = DataTables("政策备案明细表").sqlFind("[供应商内码] = \'" & r1("供应商内码") & "\' And [渠道商内码] = \'" & r1("渠道商内码") & "\' And [品种内码] = \'" & r1("品种内码") & "\'And [销售单位内码] = \'" & r1("销售单位内码") & "\'", "制单日期 Desc") \'在后台查找符合条件的行 If sr IsNot Nothing Then \'如果找到了符合条件的行 dr("渠道商返利单价") = sr("渠道商返利单价") dr.save End If End If Next
|
-- 作者:有点蓝 -- 发布时间:2025/2/20 9:09:00 -- 代码放在什么事件里?vars("trow")和 vars("brow")值是怎么来的? |
-- 作者:chz007 -- 发布时间:2025/2/20 19:06:00 -- 1、代码放在什么事件里? |
-- 作者:chz007 -- 发布时间:2025/2/20 19:10:00 -- 1、代码放在什么事件里? 按钮键-Click事件 2、vars("trow")和 vars("brow")值是怎么来的? Table表-选择-AfterSelRangEcheng With e.NewRange
vars("trow") = .TopRow vars("brow") = .BottomRow End With |
-- 作者:有点蓝 -- 发布时间:2025/2/20 20:03:00 -- Dim t As Table = e.Form.Controls("Table1").Table Dim r1 As Row Dim Names As New List(Of String) For i As Integer = t.TopPosition To t.BottomPosition r1 = t.Rows(i) If Names.Contains(r1("行编码")) = False Then Names.Add(r1("行编码")) Dim dr As DataRow = DataTables("出入库明细表").Find("行编码=\'" & r1("行编码") & "\'") MsgBox("i=" & i & ",find=" & (dr IsNot Nothing)) If dr IsNot Nothing Then Dim sr As DataRow sr = DataTables("政策备案明细表").sqlFind("[供应商内码] = \'" & r1("供应商内码") & "\' And [渠道商内码] = \'" & r1("渠道商内码") & "\' And [品种内码] = \'" & r1("品种内码") & "\'And [销售单位内码] = \'" & r1("销售单位内码") & "\'", "制单日期 Desc") \'在后台查找符合条件的行 MsgBox("sr=" & (sr IsNot Nothing)) If sr IsNot Nothing Then \'如果找到了符合条件的行 dr("渠道商返利单价") = sr("渠道商返利单价") dr.save End If End If End If Next
|
-- 作者:chz007 -- 发布时间:2025/2/20 20:23:00 -- i=0,find=True sr = True 数据没有变
|
-- 作者:有点蓝 -- 发布时间:2025/2/20 21:00:00 -- 如果只有i=0,说明只选了1行数据啊 |
-- 作者:chz007 -- 发布时间:2025/2/20 21:04:00 -- 不管选一行,还是多行,数据都不变 |
-- 作者:有点蓝 -- 发布时间:2025/2/20 21:06:00 -- 加代码调试看看 If sr IsNot Nothing Then \'如果找到了符合条件的行 msgbox(dr("渠道商返利单价") ) dr("渠道商返利单价") = sr("渠道商返利单价") msgbox(dr("渠道商返利单价") ) dr.save End If
|