- PR -

DataGridのハイライト表示について

1
投稿者投稿内容
PBZ
会議室デビュー日: 2003/02/15
投稿数: 1
投稿日時: 2003-02-15 00:42
VB.NETのWindowsアプリケーションでDataGridを使用しているのですが、指定した"列"のハイライト表示をしたいのですが(複数列指定可能)、実現方法がわからず困っています。申し訳ございませんが参考になるサイトやプログラムがありましたら、教えていただけませんでしょうか。宜しくお願い致します。
Tog
ベテラン
会議室デビュー日: 2002/06/09
投稿数: 76
投稿日時: 2003-02-15 20:05
こんにちわ。

もっと簡単に実現できる方法があるのかもしれません、ちょうどDataGridのカスタムColumnStyleを作成していたので、下記のようなものはどうでしょうか。

DataGridTextBoxColumnから継承した背景色(文字色)を変更するDataGridColumnStyleを作成する方法です。

コード:
Public Class ColoredTextBoxColumn : Inherits DataGridTextBoxColumn

        Private _backColorBrush As Brush


        Public Property ColumnBackColorBrush() As Brush
            Get
                Return _backColorBrush)
            End Get
            Set(ByVal Value As Brush)
                _backColorBrush = Value
            End Set
        End Property
        Protected Overloads Overrides Sub Paint(ByVal g As System.Drawing.Graphics, _
                                                 ByVal bounds As System.Drawing.Rectangle, _
                                                 ByVal source As System.Windows.Forms.CurrencyManager, _
                                                 ByVal rowNum As Integer, _
                                                 ByVal backBrush As System.Drawing.Brush, _
                                                 ByVal foreBrush As System.Drawing.Brush, _
                                                 ByVal alignToRight As Boolean)
               backBrush = _backColorBrush 
            MyBase.Paint(g, bounds, source, rowNum, backBrush, foreBrush, alignToRight)
        End Sub



PBZ
会議室デビュー日: 2003/02/15
投稿数: 10
投稿日時: 2003-02-15 21:22
Togさん、初めまして。
サンプルプログラムありがとうございます。
ヘルプやネットをずっと探していたのですがそれらしい機能を探せずにいました。
私の見落としかもしれませんが。。。
行のハイライト表示はサポートされているのに、列となると自分でこのようなプロ
グラムを作成しなければならないのですね。早速試してみたいと思います!!
ありがとうございました!!
1

スキルアップ/キャリアアップ(JOB@IT)