Foxtable(狐表)用户栏目专家坐堂 → 滚动条的位置控制动态加载


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

主题:滚动条的位置控制动态加载

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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
滚动条的位置控制动态加载  发帖心情 Post By:2024/4/12 9:45:00 [只看该作者]

 是否可以通过滚动条的位置来动态加载?

例如加载500行,滚动到底部1/5时,动态加载另外500行?


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 9:52:00 [只看该作者]

滚动可以参考这里AfterScroll的用法:http://www.foxtable.com/webhelp/topics/2355.htm

追加加载数据可以使用appendload:http://www.foxtable.com/webhelp/topics/2276.htm

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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/12 9:56:00 [只看该作者]

 这里面只有判断第一行,如何得知滚动条的位置呢?


If Forms("窗口1").Opened Then
   Dim
tbl As Table = Tables("窗口1_Table2")
  
If e.Table.TopVisibleRow <> tbl.TopVisibleRow Then
      tbl.TopVisibleRow = e.
Table.TopVisibleRow
      e.
Table.TopVisibleRow = e.Table.TopVisibleRow '此行不可少,确保第一个可见行完整显示
  
End If
   Functions.Execute(
"SetGanntLeftCol")
End
If

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 9:59:00 [只看该作者]


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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/12 10:03:00 [只看该作者]

 这个CurrentTable.ScrollPosition.Y,显示的是什么单位?像素?
怎么得到总的长度?
我发现调整窗体大小,拉到底显示的数值有略微差异。怎么判断与窗体的位置比例么?
basemainform.height?

[此贴子已经被作者于2024/4/12 10:03:49编辑过]

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 10:22:00 [只看该作者]

像素。如果是窗口表,滚动区域高度就是表控件的高度-标题行的高度,大概的位置就可以开始加载了,没有必要完全准确

其实也不需要判断滚动,可以通过BottomVisibleRow来判断,比如现在总共有100行,当BottomVisibleRow =90(还有100-90=10行没有显示)的时候就开始加载

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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/12 10:41:00 [只看该作者]

还有,我刚在测试这个加载的,发现如果员工在表里面新增一行,表格会直接把新增行放在最末尾。即使表格已经按照一定规则排序,新增的红字行还在是末尾,怎么让新增的行跑第一行去?

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/4/12 11:15:00 [只看该作者]

把新行所说的【按照一定规则】填入必要的数据。

比如按编号排序,当前第一行的编号是50,那么新增行的时候就给新行的编号填入小于50的值。


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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/12 11:34:00 [只看该作者]

 我在同一个项目里面发现两个表,通过相同的addnew增加行的时候,一个是在最末尾,一个是在最前面。在最末尾的无视排序规则,在最前面的与排序规则一致。
在最末尾的表,可以在开发界面二次按排序的按钮进行调整,就是用户界面不行。



不知道为何


第一个排序规则不起作用的,是通过免费版转开发版的时就存在的旧表。而第二个表,是在开发版新建的。


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


加好友 发短信
等级:四尾狐 帖子:943 积分:8362 威望:0 精华:0 注册:2015/8/12 16:28:00
  发帖心情 Post By:2024/4/12 11:42:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:捕获1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:捕获.png
图片点击可在新窗口打开查看

这是一个表的2个不同位置,我分别在上下截的图。新增行一直在下方。无论排序规则如何,甚至第一次新增的行都跑上面去了,新增的还是在下面出现。
 

 回到顶部
总数 11 1 2 下一页