Foxtable(狐表)用户栏目专家坐堂 → 什么时候loaderOrder能配合loadPages等一起使用?


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

主题:什么时候loaderOrder能配合loadPages等一起使用?

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/17 14:30:00 [显示全部帖子]


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/18 12:00:00 [显示全部帖子]

 好吧,分页例子。

————————————

 这个例子写错了。

[此贴子已经被作者于2013-1-19 16:18:45编辑过]

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/18 14:06:00 [显示全部帖子]

 我测试正常,错误是什么,贴出来。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/19 16:20:00 [显示全部帖子]

 嗯嗯,是的。没有注意到细节,已经修改。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:分页例子.table


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/21 13:27:00 [显示全部帖子]

以下是引用客家阿哥在2013-1-21 13:19:00的发言:

林老师啊!“上一页”“下一页”的代码不会写。。。。。。。。。。


你使用一个全局变量记录当前的页码,那么也就得到上一页下一页的页数了。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/22 8:54:00 [显示全部帖子]

 大概是这样解析。

http://www.foxtable.com/help/topics/0688.htm

'下面的内容不需要修改
Dim sqlStr As String
If page = 1 Then   '对于第一页的情况,直接加载前top行数据
    sqlStr = "Select TOP {0} {1} FROM {2} order by {3}"
    sqlStr = String.Format(sqlStr, Top, col, "{" & tb & "}", Order)
Else If page = -1 Then '对于最后一页的情况
    Dim cmd As New SQLCommand
    cmd.CommandText = "select count(*) from {" & tb & "}"   '查找表的总行数
    Dim count As Integer = cmd.ExecuteScalar
    sqlStr = "Select TOP {0} {1} FROM {2} WHERE [_Identify] NOT In (Select TOP {3} [_Identify] FROM {2} order by {4}, [_Identify]) order by {4}, [_Identify]"   '查找_identify不在前(page-1)页的行里,然后显示top行的数据.用order排序
    sqlStr = String.Format(sqlStr, Top, col, "{" & tb & "}", Top * iif(count Mod top = 0, count \ top - 1, count \ Top), Order)
Else   '2-n-1页的情况
    sqlStr = "Select TOP {0} {1} FROM {2} WHERE [_Identify] NOT In (Select TOP {3} [_Identify] FROM {2} order by {4}, [_Identify]) order by {4}, [_Identify]"   '查找_identify不在前(page-1)页的行里,然后显示top行的数据.用order排序
    sqlStr = String.Format(sqlStr, Top, col, "{" & tb & "}", top * (page - 1), Order)
End If

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/24 11:16:00 [显示全部帖子]

以下是引用客家阿哥在2013-1-23 22:07:00的发言:
{0}{1}跟{3}分别是Top, col, 和Order啊!是行数,字段,和排序


嗯嗯,是的,你也可以用字符串 "xxx" & top & "xxx" & col & "xxx" & order的方式。

我这样写,只是为了让sql语句看起来通顺一些。

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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2013/1/24 12:07:00 [显示全部帖子]

以下是引用jaegea在2013-1-24 11:21:00的发言:
我知道,我想知道的是為什麼這裡要用大括號以及大括號裡的數字是跟據什麼得來的?以及[_Identify]) order by {4}的為何Order前面加列名?


这个是这个只是一种格式,{0}用来标注这里要用一个字符串去填充。

以及[_Identify]) order by {4}的為何Order前面加列名?——对于这个的话,这两个是不同表的Order by,你可以看看最后生成的sql语句,就明白了。

 回到顶部