- - PR -
DataGridに表示する際、セルの文字列の色を個別に指定する
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-21 18:10
いつもお世話になっております。
DataTableを使用してDataGridにバインドしてデータを表示させているのですが、 その際、特定のセルの文字列の色を変更してから表示させたいと考えています。 DataGridTableStyleのForeColorでは、表示される全ての文字列の色が変わって しまうのですが、個別にセルの文字列の色を変更させてからDataGridに表示 させるためにはどのような方法があるのでしょうか? ご教授頂ければ幸いです。 | ||||
|
投稿日時: 2004-04-21 19:42
Windows Forms FAQの5.14が参考なるでしょう
| ||||
|
投稿日時: 2004-04-21 19:44
こんにちわ、みゅうです。 個々のセルと、言うのは判り兼ねますが カラム毎であるならば Dim dgTableStyle As DataGridTableStyle Dim dgColumnStyle As DataGridTextBoxColumn dgColumnStyle.TextBox.ForeColor = color.AsYouLikeColor dgTableStyle.GridColumnStyles.Add(dgColumnStyle) Me.DataGrid1.TableStyles.Add(dgTableStyle) こんな感じで設定できますよ。 (例はNewやカラム番号又はカラム名称等の設定を省いてます、あしからず) でも、セル個別なんですよね。。。 それはやったこと無いです、すみません。 | ||||
|
投稿日時: 2004-04-21 21:05
かずくん様、みゅう様
お二人の回答を参考に、もう一度チャレンジしてみます! | ||||
|
投稿日時: 2004-04-22 06:37
諸農です。
別のサイトになりますが、イベント/デリゲートで指定できるコードをアップしました。 参考にしてくださいませ。 GDNJ DataGrid、列の色指定 http://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=2802 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-04-22 10:58
諸農様 いつもありがとうございます。 早速参考にさせていただきます(この参照サイトの方同様、理解に時間がかかってしまうと思いますが・・)。 # GrapeCityから出ているFlexGrid for.NETを使用すれば、セル単位での文字列の色付けなのどはもっと簡単に行えるものなのでしょうか? | ||||
|
投稿日時: 2004-04-22 18:08
諸農です。
トライアル版があったと思いますので、 ダウンロードして試用してみてはいかがでしょうか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-04-22 20:44
諸農様
いつもありがとうございます。 教えて頂いたURLのソースを参考に、列単位、行単位、セル単位の全ての変更が可能になりました。 ここまで丁寧なソースを教えて頂いて、おこがましいのですが、 行単位で色を変更する方法として、もう一歩踏み込んだ質問をさせてください。 (本来なら教えて頂いたソースを元に自分で汎用すべきなのかもしれませんが、そこまでの知識がないので・・申し訳ありません!・・) 例) |NAME| STATUS | ---------------------------- 1|A | on | 2|B | off | 3|B | on | 4|A | off | というテーブルデータをDataGridに読み込む際に、行単位で色を指定する方法として3パターンに分けたいと考えています。 条件1: NAME = A && STATUS = on ならば 青色行 条件2: NAME = B && STATUS = on ならば 緑色行 条件3: NAME = A && STATUS = off || NAME = B&& STATUS = off ならば 赤色行 という形でそれぞれの値を確認した上で色を設定したいのですが、こういうケースの場合にはどのように処理を行えばよいのでしょうか? 拙い説明で申し訳ありませんが、ご教授いただければ幸いです。 |