以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 明细表问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=187525) |
||||
-- 作者:lin98 -- 发布时间:2023/7/24 9:25:00 -- 明细表问题 老师,帮处理,实例不报错,能执行,就是窗口上明细导入数据,看不到数据,要重新打开窗口才能看到,这样不友好,请帮助处理,谢谢 [此贴子已经被作者于2023/7/24 10:10:04编辑过]
|
||||
-- 作者:有点蓝 -- 发布时间:2023/7/24 10:03:00 -- 因为给单号设置了筛选条件,新增的行必须给单号列赋值,否则是看不到的 |
||||
-- 作者:lin98 -- 发布时间:2023/7/24 10:06:00 -- 怎么处理,代码怎写? |
||||
-- 作者:有点蓝 -- 发布时间:2023/7/24 10:09:00 -- dmi r as row = 新建的行比如tables("明细").addnew r("单号") = tables("主表")。current(“单号”)
|
||||
-- 作者:lin98 -- 发布时间:2023/7/24 10:23:00 -- Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} \' Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} \' Dim dh As String = Tables("订单主表").Current("单号") For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")\' \' If DataTables("订单明细").Find("编号 = \'" & r("编号") & "\'And 单号 = \'" & dh & "\'") Is Nothing Then \' Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew \' dr("单号") = Tables("主表").Current("单号") For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = r(nma(i)) Next Else MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Next 上面代码,加上红字代码,报错 .NET Framework 版本:4.0.30319.42000 Foxtable 版本:2022.8.18.1 错误所在事件:窗口,外来订单导入窗口,Button2,Click 详细错误信息: 未将对象引用设置到对象的实例。 |
||||
-- 作者:有点蓝 -- 发布时间:2023/7/24 10:30:00 -- 此主题相关图片如下:1.png |
||||
-- 作者:lin98 -- 发布时间:2023/7/24 10:49:00 -- Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} \' Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} \' Dim dh As String = Tables("订单主表").Current("单号") For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")\' \' If DataTables("订单明细").Find("编号 = \'" & r("编号") & "\'And 单号 = \'" & dh & "\'") Is Nothing Then \' Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew \' dr("单号") = Tables("订单主表").Current("单号") For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = r(nma(i)) Next Else MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Next 老师,如果红字有误,纠正 dr("单号") = Tables("订单主表").Current("单号"),没报错,但明细还是不见? Dim nma() As String = {"编号", "型号", "规格", "数量", "日期"} \' Dim nmb() As String = {"编号", "型号", "规格", "数量", "日期"} \' For Each r As DataRow In DataTables("外来订单").Select("[选中] = true ")\' \' If DataTables("订单明细").Find("编号 = \'" & r("编号") & "\'And 单号 = \'" & dh & "\'") Is Nothing Then \' Dim dr As Row = Tables("订单登记副表导入窗口_订单明细").AddNew \' Dim dh As String = Tables("订单主表").Current("单号") For i As Integer = 0 To nma.Length - 1 dr(nmb(i)) = r(nma(i)) Next Else MessageBox.Show("已经存在相同型号和规格的行!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information) End If Next 上面代码,报错,提示红字未声明 |
||||
-- 作者:有点蓝 -- 发布时间:2023/7/24 11:09:00 -- 方法1,主表新增的时候直接给主表单号复制,再设置明细表的筛选条件 2、在主表datacolchanged事件,主表单号发生变化的时候,重新设置明细表的筛选条件
|
||||
-- 作者:lin98 -- 发布时间:2023/7/24 11:46:00 -- 主表新增,加下面,也没效果 Tables("订单登记副表导入窗口_订单明细").Filter = "单号 = \'" & r("单号") & "\'"\'明细表-新增时 Dim r As Row = Tables("订单主表").Current \' If r IsNot Nothing Then e.DataRow("单号") = r("单号") End If 无效 老师,您方法的代码是怎么写?
|
||||
-- 作者:有点蓝 -- 发布时间:2023/7/24 12:06:00 --
|