2014-02-25 96 views
0

我有一個存儲圖片和其他數據的Access數據庫。我想在DatagridView中顯示數據庫中的圖片。從MS Access數據庫中查看datagridview中的圖片

這可以工作,但圖像高度在DatagridView中非常小。我也想拉伸圖像。

我該怎麼做?

這裏就是我從Access數據庫中的數據綁定到DataGridView:

conn.Open(); 

OleDbCommand cmd = new OleDbCommand(cmdstr, conn); 
DataTable table = new DataTable(); 
OleDbDataAdapter da = new OleDbDataAdapter(cmd); 
da.Fill(table); 

DatagridView1.DataSource = table; 

conn.Close(); 

有了這個代碼,我創建了一個欄,顯示的圖片,但我不能將數據從數據庫綁定本專欄。

DataGridViewImageColumn photoColumn = new DataGridViewImageColumn(); 
photoColumn.DataPropertyName = "Photo"; 
photoColumn.Width = 200; 
photoColumn.HeaderText = "Image"; 
photoColumn.ReadOnly = true; 
photoColumn.ImageLayout = DataGridViewImageCellLayout.Normal; 

DatagridView1.Columns.Add(photoColumn); 

回答

0

數據庫的數據由你寫的拳頭代碼段,speciffically綁定:

DatagridView1.DataSource = table; 

結合您的查詢送到您的datagridview中的數據。您只需設置相應的查詢即可檢索圖像。

Franlky與DataAdapter的我不太清楚如何存儲圖像,但如果你使用SQLReader的: ...

if (reader.HasRows) 
    { 
     while (reader.Read()) 
    { 
     string s1 = reader[0].ToString(); ///1st field you are interested 
     string s2 = reader[1].ToString(); //2nd field you want 
     byte[] img = (byte[])(reader[2]); //your photo image 
     } 
    } 

最後可以肯定的,對設計師AutogenerateColumns屬性設置爲true爲您Datagrid