2017-11-17 10 views
0

私は自分のデータベースに画像パスがあり、他のテーブルフィールドを持つ画像をグリッドビュー(ID、名前、ImagePath、日付)に表示したいとします。 sqlDataReaderを使用しようとしましたが、Imageパスのみが表示されます。画像そのものを表示したい。 誰かがすべての画像を表示する方法を教えてもらえますか?与えられたパスで画像をプレビューする方法

答えて

0

参照しているDataGridViewの場合は、Column ValueTypeをDataGridViewImageColumnに設定できることに気付いたことがあります。 設定すると、その列セルにビットマップが表示されます。

DataSourceがあなたに画像ファイルへのパスを与えているので、その文字列の値を非表示の列のセルに割り当てることができます。

DataSource(またはその他のもの)によってその隠されたセルの値が変更されると、それを使用して、それが指すイメージをロードします。

ここで私はDataGridViewImageColumnに設定列が列であると仮定し、[1]と隠し列が列である[0]:

private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) 
{ 
    if ((e.ColumnIndex == 0) & (e.RowIndex >= 0)) 
    { 
     string sFileName = dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString(); 
     using (Bitmap _bitmap = new Bitmap(sFileName, true)) 
     { 
     this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex + 1].Value = new Bitmap(_bitmap); 
     } 
    } 

} 

イメージファイルを使用しないと良いでしょうGDI ++はそのイメージファイルをディスクにロックするため、直接ビットマップを読み込むことができます。 イメージのビットマップコピーを使用し、それをセル値に渡します。

+0

お返事ありがとうございます。 このC#コードのHTMLコードを表示することはできますか?このコードをどこに置くのですか? (SQL接続の後/前) –

関連する問題