- 題名: カラムヘッダの固定に関して
- 日時: 2004/01/06 15:41:23
- ID: 2044
- この記事の返信元:
- (なし)
- この記事への返信:
- [2045] Re[1]: カラムヘッダの固定に関して2004/01/06 16:57:53
- ツリーを表示
■No2044に返信(咲くらさんの記事) 幅のことと捉えましたが・・・(そういうことですか?) 幅の変化イベントを処理すればいいだけなので、どこかで幅を覚えておいて、 それと異なる場合だけ戻すようにすれば可能です。 以下は例です。(わざわざコレクション使わないでもいいですし。) [1] '名前で引ける形で幅を覚えておくためのコレクション Private colColle As New Collection [2] '幅変更を感知するイベント処理 Sub ts_widthChanged(ByVal sender As Object, ByVal e As EventArgs) Try Dim cs As DataGridColumnStyle cs = sender '自分の定義と異なる場合に調整する If cs.Width <> colColle(cs.MappingName) Then cs.Width = colColle(cs.MappingName) End If Catch ex As Exception End Try End Sub [3] スタイルの初期化時の処理に●を追加 '・・・ Dim tstyle As New DataGridTableStyle Dim cstyle As DataGridTextBoxColumn cstyle = New DataGridTextBoxColumn With cstyle .MappingName = "CODE" .HeaderText = "CD" .Width = 100 .TextBox.ImeMode = ImeMode.Disable colColle.Add(.Width, .MappingName) '● AddHandler .WidthChanged, AddressOf ts_widthChanged '● End With tstyle.GridColumnStyles.Add(cstyle) cstyle = New DataGridTextBoxColumn With cstyle .MappingName = "NAME" .HeaderText = "NAME" .Width = 200 .TextBox.ImeMode = ImeMode.Hiragana colColle.Add(.Width, .MappingName) '● AddHandler .WidthChanged, AddressOf ts_widthChanged '● End With tstyle.GridColumnStyles.Add(cstyle) '・・・ ざっとこんな感じですね。一応・・・。
2004/01/06(Tue) 15:55:02 編集(投稿者)
はじめまして。
データグリッドでカラムヘッダをマウスでつかんで
左右に動かなくしたいのですがいい方法はあるでしょうか?
宜しければ、お知恵をお貸しください。