DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DataGrid 特定の範囲で色を変えるには

環境/言語:[Windows2000/C#]
分類:[.NET]

2005/04/11(Mon) 18:29:40 編集(投稿者)
2005/04/11(Mon) 18:29:33 編集(投稿者)

お世話になります。る〜 です。

ここのHPの「DataGrid内の特定のセルの色を変える」
<http://dobon.net/vb/dotnet/datagrid/coloredcell.html>
を参考に「x1行y1列目〜x2行y2列目までのセルの色を変える」という事をやりたいと考えております。(x1、y1、x2、y2は変数)
ただ、現在参考にさせていただいているソースでは、セル内に特定の数値がないと色を変えられないので、
値に依存せず特定の範囲で色を変えることはできないでしょうか。
自分の所でも試行錯誤中ですが、なかなか解決せず苦心しております。
皆様のお知恵を拝借できれば幸いです。
■No10358に返信(る〜さんの記事)
お疲れ様です。HSD所属のbettaです。

最善の方法かわかりませんが、
DataGridTextBoxColumnを継承したクラスに
行と色を指定する、みたいなプロパティをつくって、
Paintメソッドで、それに従い背景色を変えるってして、
呼び出し元で、このプロパティをセットして、Refresh、
ってのはどうですか?
> 値に依存せず特定の範囲で色を変えることはできないでしょうか。
> 自分の所でも試行錯誤中ですが、なかなか解決せず苦心しております。
> 皆様のお知恵を拝借できれば幸いです。

MSDNに特定のセルのBackColor、ForeColor、Font等を変更する方法がありますよ。
[Customizing the Windows Forms DataGrid]
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwinforms/html/wnf_CustDataGrid.asp

DataGridTextBoxColumnの継承クラスのPaintメソッドでイベントを発生させて
BackColor等を変更する方法です。

参考になると思います。
bettaさん、こぷさん

はじめまして。
アドバイスと参考資料の提供まことに有難うございます。
MSDNの方は英和辞書片手に少し格闘してみます。

#休日にミニプログラムでも作って試してみようかな…

DOBON.NET | プログラミング道 | プログラミング掲示板