質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

1回答

8783閲覧

dataGridViewに画像を表示した後にZoomにしたい

ohikazuma

総合スコア9

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2020/01/16 02:03

前提・実現したいこと

C#(フォームアプリ)にて、SQLServerに保存した画像を他のカラムと同時にSelect文で読み出しDataTableに保存、それをdataGridViewのDataSourceにセットし画像を表示することはできましたが、
表示された画像をZoomにできません。
画像をセットした後、Zoomにする方法はあるのでしょうか?
宜しくお願いします。

発生している問題・エラーメッセージ

ネット検索したのですが、ZoomにしたColumnをdataGridViewにAddする方法はあるのですが…

該当のソースコード

[C#]
//DataTbleの準備
System.Data.DataTable dt = new System.Data.DataTable();
DataRow dr;

//DataTableカラム追加
dt.Columns.Add("品目コード", typeof(String));
dt.Columns.Add("品目名", typeof(String));
dt.Columns.Add("画像", typeof(Image));

using (SqlConnection connection = new SqlConnection(((Form01メイン)this.Owner).DB接続文字列))
using (SqlCommand command = new SqlCommand())
{
connection.Open();
command.Connection = connection;

command.CommandText = "SQL(略)"; SqlDataReader reader = command.ExecuteReader(); //SQLを実行。 if (reader.HasRows == true) { //レコード有り! while (reader.Read()) { dr = dt.NewRow(); dr["品目コード"] = reader["品目コード"].ToString(); dr["品目名"] = reader["品目名"].ToString(); //画像を格納!!! Byte[] byteBLOBData = new Byte[0]; if ((reader["画像"]) == DBNull.Value) { } else { byteBLOBData = (Byte[])(reader["画像"]); Image img = ByteArrayToImage(byteBLOBData); dr["画像"] = img; } dt.Rows.Add(dr); } } else { //レコード無し } reader.Close();

}

dataGridView品目リスト.DataSource = dt;

dataGridView品目リスト.Columns[2].???
???= DataGridViewImageCellLayout.Zoom;  //←←←ここでZoomにしたいが、うまくいきません(TT)

…続く

//[参考にさせて頂いたサイト] https://www.atmarkit.co.jp/ait/articles/0706/07/news139.html // Imageオブジェクトをバイト配列に変換 public static byte[] ImageToByteArray(Image img) { ImageConverter imgconv = new ImageConverter(); byte[] b = (byte[])imgconv.ConvertTo(img, typeof(byte[])); return b; } // バイト配列をImageオブジェクトに変換 public static Image ByteArrayToImage(byte[] b) { ImageConverter imgconv = new ImageConverter(); Image img = (Image)imgconv.ConvertFrom(b); return img; }

試したこと

いろいろと

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

YAmaGNZ

2020/01/16 02:10

「うまくいかない」とはどうなるのですか? そもそも、「???」とあるということはコーディング出来ているのですか?
guest

回答1

0

自己解決

Zuishinさん、ありがとうございました。
こうですね↓

DataGridViewImageColumn column = (DataGridViewImageColumn)dataGridView品目リト.Columns[2];
column.ImageLayout = DataGridViewImageCellLayout.Zoom;

投稿2020/01/16 03:01

ohikazuma

総合スコア9

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問