データテーブルに画像を格納するには
- 題名: データテーブルに画像を格納するには
- 著者: バベル
- 日時: 2008/02/18 15:35:59
- ID: 21476
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: データテーブルに画像を格納するには
- 著者: Hongliang
- 日時: 2008/02/18 15:54:15
- ID: 21478
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: データテーブルに画像を格納するには
- 著者: バベル
- 日時: 2008/02/18 16:09:57
- ID: 21479
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[3]: データテーブルに画像を格納するには
- 著者: バベル
- 日時: 2008/02/29 0:49:05
- ID: 21538
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
お世話になります、まったくの初心者なので間違った表現があるかもしれませんが、アドバイス頂けると助かります。VB2005です。
あるDataTableをバインドしているDataGridViewの列に画像を表示させたいと考えています。
「DataGridViewの列に画像を表示する」
http://dobon.net/vb/dotnet/datagridview/datagridviewimagecolumn.html
こちらの説明によると、「バイト配列、Image、Iconオブジェクトのデータをバインドすれば自動的にDataGridViewImageColumnが使用されます。」とありますが、DataTableに画像オブジェクトを入れる方法が見つかりません。
例えば、このようにやってみましたが、
いずれも画像がDataGridViewに表示されることはありませんでした。
’新規レコード追加時に、FileStreamで読み込んだ画像を入れようとした場合
Using fs As FileStream = File.OpenRead(imgfile)
Dim original As Image = Image.FromStream(fs, False, False)
newRow("IMAGE") = original
original.Dispose()
thumbnail.Dispose()
End Using
’読み込んだ画像を一旦ImageListに追加し、それを格納しようとした場合
DT.Rows(i)("Image") = New Bitmap(ImageList1.Images(i))
ほかにもいくつか試しましたが、System.Argument.Exceptionがでたり、
DataGridViewに表示する段階で、文字列型のデータをImage列にキャストすることはできない、という旨のメッセージがでてエラーになります。いろいろ検索してみましたが、VBでわかるような解決策は見つからずに今に至ります。アドバイス宜しくお願いいたします。
ちなみに今作っているプログラムの概要は下記のようなものです。
エクスプローラからフォームにJPGをドラッグ&ドロップすると、その画像のファイル名やパスの一覧がメモリ上のDataTableに追加されます。DataTableはDataGridViewにもバインドしているので、DataGridViewにも表示が反映されます。また、その画像ファイルをFileStreamで読み込んでImageListに格納し、ListViewのLargeIconとしてサムネイル表示するようになっています。このDataGridViewの列にも画像を表示したいというのが希望です。画像はどんどん増えていきます。
何卒宜しくお願いいたします。