DataSourceにDataTableを設定したDataGridViewの任意の列のスタイルとテキストを変更するには?

解決


オプチ  2008-01-24 20:32:46  No: 144332

毎々参考にさせていただいております。早速ですが、質問させていただきます。
あるフォームにDataGridViewを貼り付けて、データベースのデータを表示させる
プログラムなのですが、処理の順番は下記手順で行っております。

①SQL文でデータを取得します。
  ("SELECT 列A FROM テーブル名")

②①の結果をDataTableに格納します。
  (DBDataAdapter.Fill(DataTable)を使ってます。)

③②で結果を格納したDataTableをDataGridView.DataSourceに設定して、データ
  を表示します。(DataGridView.DataSource = DataTable)

上記の手順の関係上、またパフォーマンス向上のためにデータベース上から取得
した値を直接表示する場合以外は、基本的にSQLのCASE〜WHEN〜END文などを使用
してSQL上で加工して取得してから表示しているのですが、直接表示出来ない場合
例えばSQLで取得した値によってDataGridView内のセルの文字色とテキストを変更
したい場合には、どうしたらいいでしょうか?
一応、上記3つの手順の最後に④として、DataGridViewを列数でループして、表示
値を変更したり、DataGridView.Columns(n).DefaultCellStyleを変更してみたり
したのですが、処理が非常に重かった次第です。

具体的な例としては、上記SQLで列Aの値が0,1,2の場合によってそれぞれ、
  
  表示するテキスト  ⇒"A","B","C"
  表示文字色        ⇒Color.Blue, Color.Yellow, Color.Red

にしたい場合にはどうすればよろしいでしょうか?

開発環境:Visual Studio 2005
使用DB:Microsoft SQL Server 2005 Express Edition

ぜひご教示いただきたく、よろしくお願い致します。


オプチ  2008-01-24 20:35:22  No: 144333

すみません。
開発言語を書き忘れました。VBです。
申し訳ありません。


オプチ  2008-01-24 21:32:04  No: 144334

CellFormattingイベントの中身を変更したらできました。
掲示板を汚してしまってすみませんでした。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加