DataGridコントロール(System.Windows.Forms)DataGridのセルに画像を表示するこの記事への評価、コメントDataGridのセルに画像を表示する注意:ここで紹介しているDataGridは、System.Windows.Forms名前空間のDataGrid(Windowsフォーム)です。System.Web.UI.WebControls名前空間のDataGrid(Webフォーム)ではありません。DataGridColumnStyle.PaintメソッドをオーバーライドしたDataGridColumnStyleからの派生クラスを作成することにより、セルに画像を表示できるようになります。次のようなクラスを作成し、このPaintメソッド内で画像を描画するようにします。下の例ではDataGridTextBoxColumnの派生クラスDataGridImageTextBoxColumnクラスを作成し、セルの値が画像ファイル名と解釈してこの描画を試みます。}}次に画像を表示したい列にこの列スタイルを使うようにします。テーブルスタイルの説明は省かれていますので、分からないという方はこちらをご覧ください。以下の例では、データソースが"Column1"という名前のDataColumnがある"DataTable1"という名前のDataTableであることを前提にしています。200;//DataGridTableStyleに追加するts.GridColumnStyles.Add(cs);//テーブルスタイルをDataGridに追加するDataGrid1.TableStyles.Add(ts);補足:上記のDataGridImageTextBoxColumnクラスはあくまでDataGridのセルに画像を表示する方法を紹介する目的で作成されたため、Paintメソッドで毎回画像を読み込むという、非効率な処理を承知でやっています。このことは書かずとも分かっていただけるだろうと思っていたのですが、そうでもなかったようです。そこで、毎回画像を読み込むのではなく、読み込んでいない画像のみを読み込むように改良したクラスを以下に紹介します。これもまだ欠陥が山ほどあることをご了承ください。(画像の縮小率が決まっている時は縮小しておく、画像データが溜まり過ぎないようにするなどの改良が考えられます。}}注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。Tipsをご利用いただく際は、注意事項をお守りください。共有するこの記事への評価この記事の評価を見る・評価するには、JavaScriptを有効にしてください。この記事へのコメントこの記事へのコメントの一覧を見るこの記事に関するコメントを投稿するには、下のボタンをクリックしてください。投稿フォームへ移動します。通常のご質問、ご意見等は掲示板へご投稿ください。設定JavaScriptを有効にしてください。