スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

VB.NETのDataGridViewの列(カラム)にURLからの画像を表示する方法

VB.NETのDataGridViewの列に、画像URLを読み込んで
表示させたいと思ったのですが、なかなか良いサンプルがありませんでした。
誰も悩んでない可能性がありますね(汗)


[参照サイト] http://www.atmarkit.co.jp/fdotnet/dotnettips/018loadbmp/loadbmp.html


1.データグリッドビュー(DataGridView)にセットするデータソースを準備。


image_name image_url
Yahoo! http://k.yimg.jp/images/top/sp/logo.gif
Google http://www.google.co.jp/intl/ja_jp/images/logo.gif

2.データグリッドビューに画像を表示するカラムを追加します。
 
 

' データグリッド自動表示オフ
  ’これをしないと、データソースに関連づいたカラムがすべて表示されます
dgv.AutoGenerateColumns = "false"


'データソースを設定
dgv.DataSource = _DV

'カラム毎の設定
'[画像名]
Dim col_image_name As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn
col1.DataPropertyName = "image_name" ' データソースのカラム名を指定
col1.Name = "画像名" ’データグリッドビューの列タイトル
col1.Width = 300

'[画像URL]
Dim col_url As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn
col_url.DataPropertyName = "image_url"
col_url.Visible = False ' この列は非表示します

'[画像]
Dim col_image As DataGridViewImageColumn = New DataGridViewImageColumn ’←ここは重要
col_image.Name = "画像"
col_image.Width = 150


'カラムを追加
dgv.Columns.Add(col_image_name)
dgv.Columns.Add(col_url)
dgv.Columns.Add(col_image)




3.追加したデータグリッドビューの画像の列に画像を表示します。
 URLをWebClientでStreamに読み込みます。
 さらに、それをBitmapに変換します。


'画像URLからデータを読み込んで、画像の列に表示する

Dim index As Integer = 0
Dim sURL As String
Dim objeClient As New System.Net.WebClient()

For Each row As DataRowView In _DV
sURL = dgv(1, index).Value
' Streamに読み込む
Dim objeStream As System.IO.Stream = objeClient.OpenRead(sURL)

' Bitmapに変換
Dim b As Bitmap = New Bitmap(objeStream)
objeStream.Close()

dgv(2, index).Value = b
index = index + 1
Next





正しい方法なのかは、よくわかりませんが・・・
スピードを考えると、大量の画像の場合は一度、テンポラリファイルに保存した方がいいかもしれないです。
あくまでも、メモです。

コメントの投稿

非公開コメント

スポンサードリンク
枚方情報
最新記事
カテゴリ
人気ページランキング
ブログパーツ
検索フォーム
最新コメント
楽天オススメ
人気検索記事
プロフィール

ときどきぷろぐらま。

miichan1016をフォローしましょう

Author:ときどきぷろぐらま。
ママぷろぐらま、として頑張ってます。
好きなことはPHPでプログラムを組むこと。
ブログランキング・にほんブログ村へ

メールフォーム

名前:
メール:
件名:
本文:

お気に入りリンク
相互リンク 新着記事
相互リンクをしていただくと、こちらにあなたの最新のブログ記事が表示されます。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。