譬如一个列表有8列,我要删除第3和第6列,看MSDN没有直接的方法,高人指点指点

解决方案 »

  1.   

    很简单的,假设控件名称叫:GRID1Grid1.removeitem 6
    grid1.removeitem 3
    就可以了,但是一定要注意,从打的行数向小的行数删,否则前面的删了之后,后面的行数就不对了。
      

  2.   

    好像只能设置 cols 的值来进行列的添加删除,如果转列麻烦就把想要改变的列放到后边吧
      

  3.   

    MSHFlexGrid没这个功能的, 得自己编一个删除列的模块.
    入参为: MSHFlexGrid对象, 要删的列数.
    Public Sub DelCol(ByVal Grid As MSHFlexGrid, ByVal ColIndex As Long)
    '... ...
    '先将末尾列的数据复制。
    '然后设置 cols 的值来进行列的删除.
    '数据块往前移一列.
    End Sub
      

  4.   

    没有更好的办法,只能自己写一个函数移动数据
    以下是基本过程:确定这一列不是最后一列,如果是,直接使用COLS=COLS-1清除
    如果不是最后一列,设这是第N列,移动N+1列的数据覆盖N列的,移动N+2列的数据移动到N+1.....
      

  5.   

    谢谢 wlxu1209(无限循环) !我试试,写出完整函数