下滑下载数据的时候,窗口感觉很卡,上滑一点都不卡,但是内容显示到窗口后,上滑一次,再下滑就不卡了,求大佬帮忙优化一下看看
111.e
(1.44 MB, 下载次数: 0)
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 颜色组 | 整数型 | 6 | 角标 | 整数型 | | image1 | 整数型 | | 随机按钮标题色 | 逻辑型 | | 总项目数 | 整数型 | | 数据缓存 | 文本型 | 0 | 预加载数量 | 整数型 | | Control_Sl | 整数型 | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | n | 整数型 | | | 当前项目数 | 整数型 | | | i | 整数型 | | | Title | 字节集 | | | 表头角标 | 整数型 | | | index | 整数型 | | | 懒加载 | 逻辑型 | | | sql语句 | 文本型 | | | 记录集 | 整数型 | | | 数据库记录总数 | 长整数型 | | |
全_mysql句柄 = 连接MySql (“127.0.0.1”, “root”, “123123”, “123”, 3306 ) 如果 (全_mysql句柄 = 0 ) 信息框 (“数据库连接失败!”, 0, , ) 返回 () 执行SQL语句 (全_mysql句柄, “set names GBK”)Control_Sl = 组件取窗口绑定组件 (超级列表框EX1. 取窗口句柄 ()) 组件暂停重画 (Control_Sl ) sql语句 = “SELECT COUNT(*) AS record_count FROM jizhang_account” 如果 (执行SQL语句 (全_mysql句柄, sql语句 ) = 假) 信息框 (“cha询记录总数失败!”, 0, , ) 返回 () 记录集 = 取记录集 (全_mysql句柄) 如果 (记录集 = 0 ) 信息框 (“获取记录集失败!”, 0, , ) 返回 () 到首行 (记录集)读字段值 (记录集, “record_count”, 数据库记录总数 )释放记录集 (记录集 )总项目数 = 数据库记录总数 预加载数据 () 如果 (到整数 (&虚表回调 ) = 0 ) 信息框 (“虚表回调函数指针获取失败!”, 0, , ) 返回 () 组件发送消息 (Control_Sl, #组件接口命令_启用虚表, 到整数 (&虚表回调), 0, 0, 0) 懒加载 = 真 如果 (懒加载 ) 如果 (到整数 (&滚动回调 ) = 0 ) 信息框 (“滚动回调函数指针获取失败!”, 0, , ) 返回 ()    组件发送消息 (Control_Sl, #组件接口命令_置内容滚动回调, 到整数 (&滚动回调), 0, 0, 0)  超级列表框EX1. 插入项目 (-1, 10, 0, 30 )  超级列表框EX1. 插入项目 (-1, 10, 0, 30 ) 组件容许重画 (Control_Sl )变量名 | 类 型 | 静态 | 数组 | 备 注 | sql语句 | 文本型 | | | 记录集 | 整数型 | | | i | 整数型 | | | 编号 | 文本型 | | | 金额 | 文本型 | | | 备注 | 文本型 | | | 支fu类型 | 文本型 | | | 项目 | 文本型 | | | 时间 | 文本型 | | | 支fuID | 文本型 | | |
sql语句 = “SELECT ja.acid, ja.acmoney, ja.actime, ja.acremark, ja.zhifu, jc.classname, jp.proname FROM jizhang_account ja JOIN jizhang_program jp ON ja.proid = jp.proid JOIN jizhang_account_class jc ON ja.zhifu = jc.classid JOIN jizhang_bank jb ON ja.bankid = jb.bankid order by acid desc LIMIT ” + 到文本 (预加载数量 ) 如果 (执行SQL语句 (全_mysql句柄, sql语句 ) = 假) 信息框 (“预加载数据cha询失败!”, 0, , ) 返回 () 记录集 = 取记录集 (全_mysql句柄) 如果 (记录集 = 0 ) 信息框 (“预加载数据获取记录集失败!”, 0, , ) 返回 () i = 0 判断循环首 (到下一行 (记录集 ) = 真) 读字段值 (记录集, “acid”, 编号 ) 读字段值 (记录集, “acmoney”, 金额 ) 读字段值 (记录集, “actime”, 时间 ) 读字段值 (记录集, “acremark”, 备注 ) 读字段值 (记录集, “zhifu”, 支fuID ) 读字段值 (记录集, “classname”, 支fu类型 ) 读字段值 (记录集, “proname”, 项目 ) 数据缓存 [i + 1 ] = 编号 + “|” + 金额 + “|” + 时间 + “|” + 备注 + “|” + 支fuID + “|” + 支fu类型 + “|” + 项目  i = i + 1 判断循环尾 ()释放记录集 (记录集 )|
滚动回调 | 整数型 | | |
组件句柄 | | | | | 消息 | | | | | 参数1 | | | | | 参数2 | | | | | 参数3 | | | | | 参数4 | | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 现有项目数 | 整数型 | | | 可插入数量 | 整数型 | | | i | 整数型 | | |
判断 (消息 = 659 ) 如果真 (参数4 = 2 ) 返回 (0 ) 现有项目数 = 超级列表框EX1.取项目数量 () 可插入数量 = 总项目数 - 现有项目数  如果真 (现有项目数 > 0 且 可插入数量 > 0 )  如果真 (参数2 > 组件发送消息 (组件句柄, 12593, 0, 0, 0, 0 ) - 组件发送消息 (组件句柄, 12595, 0, 0, 0, 0 ) × 1.1 )   如果 (可插入数量 > 10 )    超级列表框EX1. 插入项目 (-1, 10, 0, 30 )    超级列表框EX1. 插入项目 (-1, 可插入数量, 0, 30 ) 
   计次循环首 (可插入数量, i )   组件发送消息 (Control_Sl, #组件接口命令_置虚表项目更新模式, 现有项目数 + i - 1, 0, 0, 0 )   计次循环尾 ()      返回 (0)|
虚表回调 | 整数型 | | |
组件句柄 | | | | | 消息 | | | | | 参数1 | | | | | 参数2 | | | | | 参数3 | | | | | 参数4 | | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | i | 整数型 | | | sql语句 | 文本型 | | | 记录集 | 整数型 | | | 编号 | 文本型 | | | 金额 | 文本型 | | | 备注 | 文本型 | | | 支fu类型 | 文本型 | | | 项目 | 文本型 | | | 时间 | 文本型 | | | 支fuID | 文本型 | | | 缓存数据 | 文本型 | | 0 |
判断 (消息 = 1 )  判断 (参数4 = 0 )   如果 (取数组成员数 (数据缓存 ) < 参数1 + 1 )  重定义数组 (数据缓存, 真, 参数1 + 1 )   sql语句 = “SELECT ja.acid, ja.acmoney, ja.actime, ja.acremark, ja.zhifu, jc.classname, jp.proname FROM jizhang_account ja JOIN jizhang_program jp ON ja.proid = jp.proid JOIN jizhang_account_class jc ON ja.zhifu = jc.classid JOIN jizhang_bank jb ON ja.bankid = jb.bankid order by acid desc LIMIT ” + 到文本 (参数1 ) + “, 1”   如果 (执行SQL语句 (全_mysql句柄, sql语句 ) = 假)   信息框 (“单条数据cha询失败!”, 0, , )   返回 (0 )          记录集 = 取记录集 (全_mysql句柄)   如果 (记录集 = 0 )   信息框 (“单条数据获取记录集失败!”, 0, , )   返回 (0 )          读字段值 (记录集, “acid”, 编号)  读字段值 (记录集, “acmoney”, 金额 )  读字段值 (记录集, “actime”, 时间 )  读字段值 (记录集, “acremark”, 备注 )  读字段值 (记录集, “zhifu”, 支fuID )  读字段值 (记录集, “classname”, 支fu类型 )  读字段值 (记录集, “proname”, 项目 )   数据缓存 [参数1 + 1 ] = 编号 + “|” + 金额 + “|” + 时间 + “|” + 备注 + “|” + 支fuID + “|” + 支fu类型 + “|” + 项目   释放记录集 (记录集 )   缓存数据 = 分割文本 (数据缓存 [参数1 + 1 ], “|”, )   编号 = 缓存数据 [1 ]   金额 = 缓存数据 [2 ]   时间 = 缓存数据 [3 ]   备注 = 缓存数据 [4 ]   支fuID = 缓存数据 [5 ]   支fu类型 = 缓存数据 [6 ]   项目 = 缓存数据 [7 ]     超级列表框EX1. 置项目文本_W (参数1, 0, ATU (编号 ))   如果 (支fuID = “1”)   超级列表框EX1. 置项目文本_W (参数1, 1, ATU (“收入>>” + 支fu类型 ))    超级列表框EX1. 置项目文本_W (参数1, 1, ATU (“支出>>” + 支fu类型 ))      超级列表框EX1. 置项目文本_W (参数1, 2, ATU (项目 ))   超级列表框EX1. 置项目文本_W (参数1, 3, ATU (金额 ))   超级列表框EX1. 置项目文本_W (参数1, 4, ATU (时间 ))   超级列表框EX1. 置项目文本_W (参数1, 5, ATU (备注 ))     返回 (1) 返回 (0)
|