以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]请教下如何把Find出来的列内容添加到 表中的 一行内中 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83622) |
-- 作者:husl -- 发布时间:2016/4/13 12:40:00 -- [求助]请教下如何把Find出来的列内容添加到 表中的 一行内中 ~~老师好,请教下如何把Find出来的列内容添加到 表中的 一行内中。。 Dim dr3 As DataRow Dim Filter3 As String Filter3 = "[产品ID] = \'" & e.DataRow("产品ID") & "\' and [日期]=#" & Date.today & "#" dr3 = DataTables("入库明细表").Find(Filter3 ) If dr3 IsNot Nothing Then \'如果找到 Dim str As String = dr3("入库车号") & ":" & dr3("入库重量") & "," & dr4("库位") For Each str1 As String In str.split(",") e.DataRow("入库车号") = str1 Next Else e.DataRow("入库车号") =Nothing End If 按照这个执行直出来的结果只显示 Find 列的第一行。。后面的数据显示不了。请教老师如何实现 所有Find的行内容都添加进去。
[此贴子已经被作者于2016/4/13 12:40:47编辑过]
|
-- 作者:Hyphen -- 发布时间:2016/4/13 14:05:00 -- Dim dr3 As DataRow Dim Filter3 As String Filter3 = "[产品ID] = \'" & e.DataRow("产品ID") & "\' and [日期]=#" & Date.today & "#" dr3 = DataTables("入库明细表").Find(Filter3 ) If dr3 IsNot Nothing Then \'如果找到 For Each c As DataCol In dr3.DataTable.DataCols e.DataRow(c.Name) = dr3(c.Name) Next Else e.DataRow("入库车号") =Nothing End If
|
-- 作者:husl -- 发布时间:2016/4/13 14:14:00 -- ~这个结果是显示出来第一列内容……不是我想要的指定字符串啊 |
-- 作者:husl -- 发布时间:2016/4/13 14:16:00 -- Dim str2 As String = dr3("入库车号") & "|" & dr3("入库重量") Dim Arys() As String Dim Lst As New List(Of String) Lst.Add(str2) Arys = Lst.ToArray() \'将集合转换为数组 Dim Str1 As String Str1 = String.Join("-", Arys) Output.Show(Str1) 改成这样貌似之前可以。。我后来修改了一下。。找不到哪里错了。……
|
-- 作者:Hyphen -- 发布时间:2016/4/13 14:22:00 -- 不明白要做什么,截图说明一下要的效果 |
-- 作者:husl -- 发布时间:2016/4/13 14:29:00 -- 简单来说。就是找出 入库明细表里面 所有产品ID 和当前表一样的行 然后把找出的行 其中列名 “入库车号”,“入库重量”,两列的中每行的字符组成一个字符串 然后 添加一个 间隔 隔开每行的数据 添加到表中 例如 找出来的行 入库车号 入库重量 沪B1234 10 沪B3214 4 组成字符 沪B1234|10——沪B3214|4 添加到当前表的某一列中
|
-- 作者:Hyphen -- 发布时间:2016/4/13 15:02:00 -- Dim Filter3 As String Filter3 = "[产品ID] = \'" & e.DataRow("产品ID") & "\' and [日期]=#" & Date.today & "#" Dim drs As List(Of DataRow) = DataTables("入库明细表").Select(Filter3 ) If drs.Count > 0 Then \'如果找到 Dim str As String = "" For Each dr As DataRow In drs str = str & dr("入库车号") & "|" & dr("入库重量") & "-" Next e.DataRow("入库车号") = str.TrimEnd("-") Else e.DataRow("入库车号") =Nothing End If
|
-- 作者:husl -- 发布时间:2016/4/13 15:15:00 -- 膜拜~~弄了一天了。。。终于解决了。谢谢,谢谢谢谢!!!!! |