2017-11-17 82 views
0

我有一個圖像路徑位於我的數據庫,我想顯示圖像與GridView中的其他表字段(我有ID,名稱,ImagePath,日期)。 我試圖使用sqlDataReader,但它只顯示圖像路徑。我想讓它顯示圖像本身。 有人可以幫助我如何查看所有的圖像?如何預覽圖像與給定的路徑

回答

0

如果它是您所指的DataGridView,您可能已經注意到Column ValueType可以設置爲DataGridViewImageColumn。 一旦設置,該列單元格將顯示位圖。

現在,由於您的(我認爲)DataSource爲您提供了圖像文件的路徑,因此您可以將該字符串Value分配給隱藏列的單元格。

當該隱藏單元格的值由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代碼嗎?並在哪裏把這個代碼? (在sqlconnection之前/之前) –