以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  此表不支持移动行  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=128857)

--  作者:susu312
--  发布时间:2018/12/16 22:17:00
--  此表不支持移动行

 If e.Form.Controls("CheckBox2").Checked = True  Then \'\'如果垂直分组列被选中,则进行下面处理,确保合计行位于最后一行
           \'移动合计行
          For Each r As Row In t.Rows
                If r("单位") = "合计"  And r.Index <> t.Rows.Count-1 Then
                   r.Move(t.Rows.Count-1)
                End If
          Next
      End If

 

sqlquery类型的表不支持移动行么


--  作者:y2287958
--  发布时间:2018/12/16 22:34:00
--  
这个要在菜单中的“设置标志列”中设置一下
--  作者:susu312
--  发布时间:2018/12/16 22:36:00
--  
以下是引用y2287958在2018/12/16 22:34:00的发言:
这个要在菜单中的“设置标志列”中设置一下

不太懂您的意思,

 

我是用交叉统计统计了两张表合并,都合计了 ,

 

但是水平分组不一样,合计行就跑到中间行了,应该是在最后一行,所以,我想把合计行移动到最后一行,用上面的代码实现,提示不能移动行

[此贴子已经被作者于2018/12/16 22:36:11编辑过]

--  作者:有点甜
--  发布时间:2018/12/16 23:01:00
--  
以下是引用susu312在2018/12/16 22:36:00的发言:

不太懂您的意思,

 

我是用交叉统计统计了两张表合并,都合计了 ,

 

但是水平分组不一样,合计行就跑到中间行了,应该是在最后一行,所以,我想把合计行移动到最后一行,用上面的代码实现,提示不能移动行

[此贴子已经被作者于2018/12/16 22:36:11编辑过]

 

生成统计表以后,再加一列 _sortkey 列即可,如 http://www.foxtable.com/webhelp/scr/1428.htm

 

 


--  作者:susu312
--  发布时间:2018/12/16 23:59:00
--  
以下是引用有点甜在2018/12/16 23:01:00的发言:

 

生成统计表以后,再加一列 _sortkey 列即可,如 http://www.foxtable.com/webhelp/scr/1428.htm

 

 

老师,你可能理解错了, 这个不是临时列的问题,是需要把合计行移动最后一行?临时列这里发挥啥作用呀?


--  作者:y2287958
--  发布时间:2018/12/17 0:13:00
--  
有了这个临时列就可以移动行了
--  作者:susu312
--  发布时间:2018/12/17 18:53:00
--  
以下是引用有点甜在2018/12/16 23:01:00的发言:

 

生成统计表以后,再加一列 _sortkey 列即可,如 http://www.foxtable.com/webhelp/scr/1428.htm

 

 

If e.Form.Controls("CheckBox2").Checked = True  Then \'\'如果垂直分组列被选中,则进行下面处理,确保合计行位于最后一行,首先需要添加临时列,否则不能移动行
           t.DataTable.DataCols.Add("temp", Gettype(Integer))
           \'移动合计行
          For Each r As Row In t.Rows
                If r("单位") = "合计"  And r.Index <> t.Rows.Count-1 Then
                   r.Move(t.Rows.Count-1)
                End If
          Next
      End If

我加了临时列了,但是还是不可以?不能移动行


--  作者:有点蓝
--  发布时间:2018/12/17 20:27:00
--  
列名必须是_sortkey

t.DataTable.DataCols.Add("_sortkey", Gettype(Decimal))

--  作者:susu312
--  发布时间:2018/12/18 23:54:00
--  
以下是引用有点蓝在2018/12/17 20:27:00的发言:
列名必须是_sortkey

t.DataTable.DataCols.Add("_sortkey", Gettype(Decimal))

老师,您说为啥我移上不管用,就是语句写了,但是实际没有移动

 


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

 

老师,就是这个倒数第三行的那个合计行,我想把它移动到最后一行

 

代码如下:

 

 If e.Form.Controls("CheckBox2").Checked = True  Then \'\'如果垂直分组列被选中,则进行下面处理,确保合计行位于最后一行,首先需要添加临时列,否则不能移动行
           t.DataTable.DataCols.Add("_sortkey", Gettype(Decimal))
           \'\'移动合计行
          For Each r As Row In t.Rows
                If r("单位") = "合计"  And r.Index <> t.Rows.Count-1 Then
                    MessageBox.Show(r.Index)
                    r.Move(t.Rows.Count-1)
                    MessageBox.Show(r.Index)
                End If
          Next
      End If


 


--  作者:有点甜
--  发布时间:2018/12/19 9:39:00
--  

If e.Form.Controls("CheckBox2").Checked = True  Then \'\'如果垂直分组列被选中,则进行下面处理,确保合计行位于最后一行,首先需要添加临时列,否则不能移动行
    t.DataTable.DataCols.Add("_sortkey", Gettype(Decimal))
    \'\'移动合计行
    For Each r As Row In t.Rows
        r("_sortkey") = r.Index
        If r("单位") = "合计" Then
            r("_sortkey") = t.Rows.count
        End If
    Next
    t.sort = "_sortkey"
End If