Foxtable(狐表)用户栏目专家坐堂 → fill动态加载的表,增加的_Sortkey 不能排序吗?


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

主题:fill动态加载的表,增加的_Sortkey 不能排序吗?

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
fill动态加载的表,增加的_Sortkey 不能排序吗?  发帖心情 Post By:2016/8/22 0:14:00 [只看该作者]

fill动态加载的表,增加的_Sortkey 不能排序吗?

 


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20160822001007.png
图片点击可在新窗口打开查看

 

另外,为什么生成的_Sortkey值都是0

 
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20160822001309.png
图片点击可在新窗口打开查看

代码:

Tables(e.Form.Name & "_table1").fill(sql3,"vip",True)

 

If Tables(e.Form.Name & "_table1").Cols.Contains("_SortKey") = False Then
    DataTables(e.Form.Name & "_table1").DataCols.Add("_SortKey", Gettype(Double))
End If

 

With e.Form.Controls("table1").Table
For i As Double = 0 To .Rows.Count - 1
.Rows(i)("_SortKey") = i+1
Next
End With

 

 


 

[此贴子已经被作者于2016/8/22 0:14:50编辑过]

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


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/8/22 9:17:00 [只看该作者]

For i As Double = 0 To .Rows.Count - 1
.Rows(i)).DataRow.baserow("_SortKey") = i+1
Next

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/22 9:34:00 [只看该作者]

 加一句

 

e.Form.Controls("table1").Table.Sort = "_Sortkey"

e.Form.Controls("table1").Table.Sort = ""


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/8/22 16:35:00 [只看该作者]

红袍老师,你的这个代码 加在哪里?

我加在

 

For i As Double = 0 To .Rows.Count - 1
.Rows(i)).DataRow.baserow("_SortKey") = i+1
Next

 

后面。

不加的话,改变SortKey值 没有移动行,加了就会出现错误:


此主题相关图片如下:微信截图_20160822162640.png
按此在新窗口浏览图片
[此贴子已经被作者于2016/8/22 16:35:09编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/22 16:48:00 [只看该作者]

Dim t As Table' = e.Form.Controls("table1").Table

t.DataTable.DataCols.Add("_Sortkey", Gettype(Double))

For i As Double = 0 To t.Rows.Count - 1
    t.Rows(i).DataRow.baserow("_SortKey") = i+1
Next

t.Sort = "_Sortkey"
t.Sort = ""

 


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/8/22 16:58:00 [只看该作者]

红袍老师,还是一样。

 

'If Tables(e.Form.Name & "_table1").Cols.Contains("_SortKey") = False Then
    'DataTables(e.Form.Name & "_table1").DataCols.Add("_SortKey", Gettype(Double))
'End If
'
'With e.Form.Controls("table1").Table
'For i As Double = 0 To .Rows.Count - 1
'.Rows(i).DataRow.baserow("_SortKey") = i+1
'Next
'End With
'
'e.Form.Controls("table1").Table.Sort = "_SortKey"
'e.Form.Controls("table1").Table.Sort = ""

 

上面的是我之前写的

下面的是你给的代码:

 

Dim t As Table = e.Form.Controls("table1").Table

t.DataTable.DataCols.Add("_Sortkey", Gettype(Double))

For i As Double = 0 To t.Rows.Count - 1
    t.Rows(i).DataRow.baserow("_SortKey") = i+1
Next

t.Sort = "_Sortkey"
t.Sort = ""


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/8/22 17:03:00 [只看该作者]

不加

t.Sort = "_Sortkey"
t.Sort = ""

 

 

测试是有 _Sortkey  列

 


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20160822170238.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/22 17:04:00 [只看该作者]

改变_Sorktey后,执行

 

t.Sort = "_Sortkey"
t.Sort = ""


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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2016/8/22 17:32:00 [只看该作者]

我这样做:

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

排序后 结果是这样

图片点击可在新窗口打开查看此主题相关图片如下:排序后.gif
图片点击可在新窗口打开查看


 

[此贴子已经被作者于2016/8/22 17:33:19编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/8/22 19:13:00 [只看该作者]

 试试

 

If Tables(e.Form.Name & "_table1").DataTable.DataCols.Contains("_SortKey") = False Then
    DataTables(e.Form.Name & "_table1").DataCols.Add("_SortKey", Gettype(Double))
End If

With e.Form.Controls("table1").Table
    For i As Double = 0 To .Rows.Count - 1
        .Rows(i)("_SortKey") = i+1
    Next
End With

e.Form.Controls("table1").Table.Sort = "_SortKey"
e.Form.Controls("table1").Table.Sort = ""

 


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