以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何批量追载数据? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=135568) |
-- 作者:ZJZK2018 -- 发布时间:2019/5/29 15:33:00 -- 如何批量追载数据? 需求是:我是用分页加载“招标信息”表数据,根据“招标信息”表的数据追载“系统编号”表数据,与前面已加载数据进行比较,如没有就追载进来,有了就不追载? 下面代码只加载数据: Dim ids As String = DataTables("招标信息").GetComboListString("系统编号") Dim filt As String = "系统编号 In (\'" & ids.Replace("|","\',\'") & "\')" DataTables("系统编号").LoadFilter = filt DataTables("系统编号").Load() 如何批量追载数据? Dim ids As String = DataTables("招标信息").GetComboListString("系统编号") Dim filt As String = "系统编号 In (\'" & ids.Replace("|","\',\'") & "\')" For Each dr As DataRow In DataTables("系统编号").Select("") If filt.Contains(dr("系统编号")) = False Then DataTables("系统编号").AppendLoad(filt,True) End If Next |
-- 作者:有点甜 -- 发布时间:2019/5/29 15:41:00 -- 没必要这样做啊。
直接remove掉,然后appendload即可啊。
http://www.foxtable.com/webhelp/scr/2914.htm
|
-- 作者:有点甜 -- 发布时间:2019/5/29 15:42:00 -- Dim ls As List(of String) = DataTables("招标信息").GetValues("系统编号") Dim nls As new List(of String) For Each dr As DataRow In DataTables("系统编号").Select("") If ls.Contains(dr("系统编号")) = False Then nls.add(dr("系统编号")) End If Next Dim filt As String = "系统编号 In (\'" & String.Join("\',\'", nls.ToArray) & "\')" DataTables("系统编号").AppendLoad(filt,True) |
-- 作者:ZJZK2018 -- 发布时间:2019/5/29 15:48:00 -- 因为“系统编号”表的数据,后面还要利用,如果再次加载数据不是浪费吗?所以还是想用1楼的思路做,如何处理? |
-- 作者:有点甜 -- 发布时间:2019/5/29 16:02:00 -- 1、参考3楼。
2、直接比较的效率也不高。 |