Foxtable(狐表)用户栏目专家坐堂 → [求助]请教下如何把Find出来的列内容添加到 表中的 一行内中


  共有2372人关注过本帖树形打印复制链接

主题:[求助]请教下如何把Find出来的列内容添加到 表中的 一行内中

帅哥哟,离线,有人找我吗?
husl
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
[求助]请教下如何把Find出来的列内容添加到 表中的 一行内中  发帖心情 Post By:2016/4/13 12:40:00 [只看该作者]

~~老师好,请教下如何把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
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/13 14:14:00 [只看该作者]

~这个结果是显示出来第一列内容……不是我想要的指定字符串啊

 回到顶部
帅哥哟,离线,有人找我吗?
husl
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By: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
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/4/13 14:22:00 [只看该作者]

不明白要做什么,截图说明一下要的效果

 回到顶部
帅哥哟,离线,有人找我吗?
husl
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/13 14:29:00 [只看该作者]

简单来说。就是找出 入库明细表里面 所有产品ID 和当前表一样的行

然后把找出的行 其中列名 “入库车号”,“入库重量”,两列的中每行的字符组成一个字符串
然后 添加一个 间隔  隔开每行的数据  添加到表中
例如   找出来的行
入库车号      入库重量
沪B1234        10
沪B3214        4

组成字符 沪B1234|10——沪B3214|4  添加到当前表的某一列中

 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:114 积分:984 威望:0 精华:0 注册:2015/11/16 12:46:00
  发帖心情 Post By:2016/4/13 15:15:00 [只看该作者]

图片点击可在新窗口打开查看膜拜~~弄了一天了。。。终于解决了。谢谢,谢谢谢谢!!!!!

 回到顶部