用MSHFlexGrid1绑字一个recordset 后,
再如下操作
Dim i As Integer
Dim s As StringFor i = 0 To Me.MSHFlexGrid1.Cols - 1
s = s & Me.MSHFlexGrid1.ColWidth(i) & "|"NextDebug.Print s得到如下结果
-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|为什么是这个样子呢???明明列宽存在,还很大呀.
全是-1 ??????
有没有人能给个说法.
再如下操作
Dim i As Integer
Dim s As StringFor i = 0 To Me.MSHFlexGrid1.Cols - 1
s = s & Me.MSHFlexGrid1.ColWidth(i) & "|"NextDebug.Print s得到如下结果
-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|-1|为什么是这个样子呢???明明列宽存在,还很大呀.
全是-1 ??????
有没有人能给个说法.
你把列表的允许用户调整打开,然后拖动一下列头就可以得出colwidth了
你说的法子可不能用呀.那我要每次都让用户手动调整,记录下这个有啥用?
我就是要记下后以后永远都可以自动设定到上次的保存值.
关闭程序的时候再把这些宽度值写如文件里面
就可以了!!
第一次使用你可以设定初始值
但是這樣不好用.效果不好.也是在查問題時才發現,為什麼沒設過的會是-1哩?但現在還沒有辦法解決這個問題.
保存的形式是:[宽]
eg:[10][9][9][10]
用以下方法吧:
Dim i As Integer
Dim s As String
MSHFlexGrid1.Row = 1
For i = 0 To Me.MSHFlexGrid1.Cols - 1
MSHFlexGrid1.Col = i
s = s & Me.MSHFlexGrid1.CellWidth & "|"
Next
MSHFlexGrid1.Col = 1
Debug.Print s
我只是保存在注册表里,跟你一样呀.
但是效果不好,不知道从什么时候开始这些东东就不好用了,就又回到以前没有设定过的一个状态了.
我正是为此事才发的贴.
希望多交流一下.