Foxtable(狐表)用户栏目专家坐堂 → 高效给临时列赋值


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

主题:高效给临时列赋值

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
高效给临时列赋值  发帖心情 Post By:2021/3/31 11:02:00 [显示全部帖子]

老师好。窗体中的一个表tb1,有临时列【委托单位】。目前我有两种方法给委托单位列赋值:第一,通过委托编号与tables(“流水”)建立关联;第二,遍历tb1中所有行,通过委托编号, SQLfind在流水表中查找对应的行,取出委托单位后赋值。
第一种方法,流水表必须加载相应的行,关联才有效;第二种方法效率太低,需要等待的时间达十多秒,太慢。请教老师,有没有更好的方法给tb1中的 委托单位 列赋值?
   
    谢谢!!!

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


加好友 发短信
等级:三尾狐 帖子:739 积分:7694 威望:0 精华:0 注册:2017/2/3 10:29:00
  发帖心情 Post By:2021/3/31 15:03:00 [显示全部帖子]

老师,我用的下面的代码实现   ,   还有更好的方法吗?  您说的一次性导入 , 我还是没有理解  谢谢!
Dim lis_wtbh As List(of String) = dtb1.GetValues("委托编号")
Dim drs As List(of DataRow) = DataTables("流水").SQLSelect("[委托编号] In ('" & String.Join("','",lis_wtbh) & "')")

Dim lis_dw As new List(of String)
Dim lis_bfl As new List(of Single)
Dim lis_bh As new List(of String)
For Each d As DataRow In drs
    lis_bh.Add(d("委托编号"))
    lis_dw.add(d("委托单位"))
Next

For Each dr As DataRow In dtb1.DataRows
    Dim bh As String = dr("委托编号")
    For i As Integer = 0 To lis_bh.Count - 1
        If bh = lis_bh(i) Then
            dr("委托单位") = lis_dw(i)
            Exit For
        End If
    Next
Next

[此贴子已经被作者于2021/3/31 15:04:01编辑过]

 回到顶部