タイトル | : MSFlexgridの列単位指定 |
記事No | : 12283 |
投稿日 | : 2008/05/14(Wed) 22:25 |
投稿者 | : さんた |
こんにちは。
MSFlexGridについてお聞きしたいのですが、Gridの表示の速度をあげたいんですが、 まだ遅く感じてます。どうしてもセル単位でセットしているので仕方ないと思うのですが・・。
Dim ii As Long Dim data(6) As String Dim dbCols As ADODB.Fields ’表示部 If rs.EOF = False Then MSFlexGrid1.Rows = rs.RecordCount + 1 With MSFlexGrid1 'Grid書式 .Col = 0 .CellAlignment = flexAlignCenterCenter .Col = 1 .CellFontSize = 11 .Col = 2 .CellFontSize = 10 .CellAlignment = flexAlignRightCenter .Col = 5 .CellFontSize = 9 .CellAlignment = flexAlignLeftCenter .Col = 6 .CellAlignment = flexAlignCenterCenter End With rs.MoveFirst End If Do Until rs.EOF ii = ii + 1 Set dbCols = rs.Fields data(0) = dbCols("A1").Value & "" data(1) = dbCols("A2").Value & "" data(2) = dbCols("A3").Value & "" data(3) = dbCols("A4").Value & "" data(4) = dbCols("A5").Value & "" data(5) = dbCols("A6").Value & "" data(6) = dbCols("A7").Value & "" With MSFlexGrid1 ' .Rows = ii + 1 .Row = ii .RowHeight(ii) = 300 .TextMatrix(ii, 0) = data(0) .TextMatrix(ii, 1) = data(1) .TextMatrix(ii, 2) = data(2) .TextMatrix(ii, 3) = data(3) .TextMatrix(ii, 4) = data(4) .TextMatrix(ii, 5) = data(5) .TextMatrix(ii, 6) = data(6) End With rs.MoveNext Loop
この方法でやると速度は速くなったのです(前は一行ずつ追加して書式定義してました)が、 肝心のセル書式が効きませんでした。列単位で書式を設定する事はできないのでしょうか?
また、MSFlexGridの最大行数が35万セルとここのサイト内で学びましたが、MSFlexgridのように見た目も細かい設定が出来、もっと多く表示できる一覧コントロールはないでしょうか?
よろしくお願いします。
いつもこのサイトで勉強させてもらってます、ありがとうございます、がんばってください。
|