以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 否能利用临时表进行分页加载 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134834) |
-- 作者:ZJZK2018 -- 发布时间:2019/5/10 11:07:00 -- 否能利用临时表进行分页加载 1、使用SQLLoad方法进行分页加载,限制太多,数据库要SQL2005以上,其他的不行 2、用LoadOver设置的分页,只能根据 _Identify 列排序 现在在想是否能利用临时表进行分页加载?老师有没这方面的成功案例?
|
-- 作者:有点甜 -- 发布时间:2019/5/10 11:21:00 -- 分页语法,参考
https://blog.csdn.net/qq269228887/article/details/13769283
loadover可以用别的列分页的,但此列如果不唯一,分页可能出错 |
-- 作者:ZJZK2018 -- 发布时间:2019/5/10 20:20:00 -- 1、请问生成的临时表有没有[_SortKey]和[_Identify]的列,与原表有没有关系? 2、生成近2万行数据的临时表大约需多少时间?
[此贴子已经被作者于2019/5/10 20:21:12编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/5/10 20:56:00 -- 1、生成的临时表有没有[_SortKey]和[_Identify]的列看是使用什么方法生成的。基本和原表没有关系。 2、这个需要自己测试,不同电脑,不同代码,不同表结构可能都不一样
|
-- 作者:ZJZK2018 -- 发布时间:2019/5/10 21:08:00 -- 如果用Dim cmd As New SQLCommand生成的临时表有没有[_SortKey]和[_Identify]的列? |
-- 作者:有点蓝 -- 发布时间:2019/5/10 21:46:00 -- 看使用了什么sql,如果原表有,sql也返回,那么就有 |
-- 作者:ZJZK2018 -- 发布时间:2019/5/11 23:36:00 -- 我的设想是用自定义筛选树和分页加载。DataTables(“招标信息”)起始不加载数据,如何利用下面生成临时表dt的排序进行DataTables(“招标信息”)分页加载? \'生成从后台提取数据生成一个临时的DataTable Dim cmd As New SQLCommand Dim dt As DataTable cmd.C cmd.CommandText = "Select DISTINCT 招标审核,咨询类型,归属部门,项目名称,业务性质,投标地区,开标日期,系统编号 Fro m {招标信息} Where ORDER BY 开标日期 DESC" dt = cmd.ExecuteReader() \'\'\'设置目录树 Dim trv As WinForm.TreeView = e.Form.Controls("Trv_sxs") trv.BuildTree(dt,"归属部门|咨询类型|投标地区") trv.Nodes.Insert("显示所有项目",0) trv.Nodes(1).Expand() 下面红色部分代码如何调整?? \'进行分页加载 page = page + 1 Dim st As Integer = math.min(page * 5 ,dt.DataRows.count -1) Dim ed As Integer = math.min((page+1) * 5 - 1,dt.DataRows.count -1) If st = dt.DataRows.count -1 OrElse ed = 0 Then page = page - 1 Return End If st = dt.DataRows(st)("_Identify") ed = dt.DataRows(ed)("_Identify") DataTables("招标信息").Filter = "[_Identify] >= " & st & " And [_Identify] <= " & ed Dim nids As String = dt.GetComboListString("系统编号") DataTables("招标信息").LoadFilter = "系统编号 In (\'" & nids.Trim("|").Replace("|","\',\'") & "\')" DataTables("招标信息").Load [此贴子已经被作者于2019/5/12 2:22:48编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/12 22:13:00 -- 1、你的临时表,没有 _Identify 列。
2、你这种方法也是无法做到你需要的效果的。你必须另外加一列,给这一列从1到n赋值。 |
-- 作者:ZJZK2018 -- 发布时间:2019/5/18 20:20:00 -- 利用临时表进行分页加载及筛选树选择等功能基本达到要求,但现在有二个问题: 1、筛选树的空值没有筛选出来如何处理?如下图这个效果出不来 2、选择筛选树中“显示所有项目”的功能不起作用??
如下图: [此贴子已经被作者于2019/5/18 21:42:10编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/19 17:03:00 --
1、为空的,我测试没问题。请截图说明。
2、
\'Functions.Execute("项目筛选树Trv_sxs_AfterCheckNode_e",e) Dim s As String = e.Form.Controls("Chebox_sxs").Text For Each nd In e.Node.AllNodes \'清除子节点的选中标记 For Each nd In trv.AllNodes bhlst = Nothing lsbcnt = Nothing \'\'加载第一页数据
|