Foxtable(狐表)用户栏目专家坐堂 → 排序问题


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

主题:排序问题

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/27 11:11:00 [显示全部帖子]

Tables("比赛积分").Sort = "日期 DESC,棋赛名称,分组,轮赛次数值转换 DESC,上轮止累计积分 desc"

Dim drs2 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "' And [第几轮比赛] = '" & a & "' And [分组] = '" & Str & "'","","日期 Desc,分组,上轮止累计积分 desc,积分 Desc")

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/27 17:00:00 [显示全部帖子]

全部删除完再加载.

删除的代码
dataTables("比赛积分").load()

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/27 17:47:00 [显示全部帖子]

这个"上轮止累计积分"是新增行后现加的,做排序没有意义
dr("上轮止累计积分") = drs4(ic)("上轮止累计积分") + drs4(ic)("积分")

方法1、新增完,再按照"上轮止累计积分"排序获取新增的行赋值“排序”列
2、增加一个“本轮总积分”列,填入积分后直接累加"上轮止累计积分",然后按照“本轮总积分”进行排序

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/28 8:30:00 [显示全部帖子]

那就到生成对阵表的时候再按照“上轮止累计积分”排序取值。在此之前新增的数据不用排序

 回到顶部
帅哥,在线噢!
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/28 9:40:00 [显示全部帖子]

新增的时候不要给"排序"列赋值去掉下面红色代码,在生成对阵表的时候,再给这个"排序"列赋值
                If dts2 IsNot Nothing  Then
                    dr("排序") = 0
                Else
                    dr("排序") = ((ii2) + 1) \ 2
                    ii2 + = 1
                End If

-------
            DataTables("比赛积分").Load
            DataTables("比赛积分").Save()
            DataTables("综合组").DataRows.Clear
            Dim drs5 As List(of DataRow) = DataTables("比赛积分").SQLSelect("[棋赛名称] = '" & di1 & "'And [第几轮比赛] = '" & di2 & "' And [分组] = '" & Str & "' And [排序] <> 0","","日期 Desc,分组,上轮止累计积分 Desc,曾交战对手累计积分")
Dim kkk As Integer = 1
            For id As Integer = 0 To drs5.count - 1 Step 2
                Dim c As Integer = rand.Next(0,2)
                Dim c1 As Integer = IIF(c = 0,1,0)
                c = id+c
                c1 = id+c1
                Dim nr As DataRow = DataTables("综合组").AddNew
                nr("桌号") = kkk 
drs5(c)("排序") = kkk 
                If c <= drs5.Count - 1
                    nr("红方_编号") = drs5(c)("编号")
                    nr("红方_姓名") = drs5(c)("姓名")
                    nr("红方_上轮止累计积分") = drs5(c)("上轮止累计积分")
                    nr("红方_曾交战对手累计积分") = drs5(c)("曾交战对手累计积分")
                End If
                If c1 <= drs5.Count - 1
                    nr("黑方_编号") = drs5(c1)("编号")
                    nr("黑方_姓名") = drs5(c1)("姓名")
                    nr("黑方_上轮止累计积分") = drs5(c1)("上轮止累计积分")
                    nr("黑方_曾交战对手累计积分") = drs5(c1)("曾交战对手累计积分")
                End If
            Next
            DataTables("比赛积分").SQLUpdate(drs5)

 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/28 9:57:00 [显示全部帖子]

那就保留这个代码,生成对阵表的时候,再重新"排序"

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/28 10:57:00 [显示全部帖子]

使用按钮删除行,在按钮里加载,不要在表事件里加载

 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106154 积分:539887 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/28 11:20:00 [显示全部帖子]

不能。数据都不会自动刷新,必须手动刷新

 回到顶部