排序
使用Sort 排序的时候。依照行进行排序。虽然行单元格的数据正确排序,但是其行的行高并没有随之排序,请问有解决办法吗? 还有 行进行排序的时候对应的表头 并没有随之移动,如何解决? 回复 1楼leikaihua的帖子
1# 问题,只是对 Spread 底层数据模型进行排序,无法使格式随机调整。
可以尝试把行高放置在排序单元格的 tag 中,在排序完成后取 tag值重新设置,Tag使用参考代码:
Private Sub Command1_Click()
fpSpread1.SortKey(1) = 1
fpSpread1.SortKeyOrder(1) = SortKeyOrderDescending
fpSpread1.Sort -1, -1, -1, -1, SortByRow
fpSpread1.Col = 1
fpSpread1.Row = 2
Dim a As String
a = fpSpread1.CellTag
End Sub
Private Sub Form_Load()
fpSpread1.Col = 1
fpSpread1.Row = 1
fpSpread1.Value = 1
fpSpread1.CellTag = "1"
fpSpread1.TextTip = TextTipFixed
fpSpread1.Row = 2
fpSpread1.Value = 2
End Sub
回复 3楼iceman的帖子
那与 行同一行的表头 并没有随之移动 有啥办法? 回复 4楼leikaihua的帖子
使用同样方法应该也可以实现,我理解取行高的代码变成取行头就可以了。 回复 5楼iceman的帖子
排序时,如果有隐藏行SPREAD是如何处理的,尝试了多半天实在摸不着头脑。
比如我把第3行已经隐藏,排序时,spread 还会再隐藏一行。。。。。。。。
1、spread排序时如何处理隐藏行?如果仅仅只是数据模型排序,为啥还会自动隐藏一行?
2、如何让spread排序时忽略掉隐藏行? 回复 6楼leikaihua的帖子
你好,
正如之前我们讨论的,Spread 排序是根据底层数据模型来排序的,通过隐藏和显示控制某一行的可见性是 UI 层操作,对底层数据没有影响。
回到正题,针对当前的需求,可以针对隐藏行维护一个列表,记录其原始和排序后的位置,使用 Me.fpSpread1.MoveRowRange 方法进行移动。请你先尝试下。
谢谢 回复 7楼iceman的帖子
多谢版主再次热心的回复。
问个题外话, 移动行数据;复制行数据;交换行数据;这三个命令哪个执行速度最快? 回复 8楼leikaihua的帖子
不客气,应该做的。
复制行数据应该是效率最快的。
页:
[1]