VB6使用Spread Designer 6.0如何调整列位置无需删列重建?
Visual Basic 6 环境下 Spread Designer 6.0 列显示顺序调整
完全不需要通过删除所有列再重新添加的方式调整布局,可直接使用控件原生能力完成列位置重排
原有尝试代码的适配问题
你之前在窗体加载时编写的代码,存在和VB6端Spread 6.0 ActiveX控件不匹配的问题:
lstTheLines.Col(1)是用于定位单元格坐标的方法,无法直接拿到可配置的列实体对象DisplayIndex是高版本Spread控件(如WinForm生态的Spread.NET)开放的可写属性,VB6搭载的Spread Designer 6.0 版本并未暴露该可配置属性,直接赋值会触发属性不存在的运行错误
可直接落地的实现方案
使用Spread 6.0 内置的MoveCol方法完成列位置迁移,该方法操作全程不会改动原有列绑定的数据源、预设样式、单元格内容:
- 方法语法:
表格控件实例.MoveCol 待移动列的物理索引, 目标显示位置的索引 - 对应你场景的参考代码:
' 将物理索引为1的列,移动到显示序列的第1个位置(从0开始计数) lstTheLines.MoveCol 1, 0 ' 将物理索引为25的列,移动到显示序列的第2个位置(从0开始计数) lstTheLines.MoveCol 25, 1
- 方法特性:执行移动操作时,原本处于目标位置的列会自动整体顺延移位,无需手动批量调整其他列的位置
操作提示:如果需要和其他窗体布局完全对齐,只需要在窗体加载事件中,按照目标布局的列顺序逐次调用
MoveCol方法匹配对应位置即可,不会修改设计器中预先配置好的列结构与绑定关系。
内容的提问来源于stack exchange,提问作者Jean Camargo
相关产品推荐
相关产品推荐

