2014-02-25 2 views
0

그림 및 기타 데이터가 저장된 Access 데이터베이스가 있습니다. DatagridView에서 데이터베이스의 그림을 보여주고 싶습니다.MS Access 데이터베이스에서 datagridview의 그림보기

이 작동하지만 이미지 높이가 DatagridView에서 매우 작습니다. 나는 또한 이미지를 늘리고 싶다.

어떻게하면됩니까? 내가있는 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 나는 이미지를 저장하는 방법을 아주 확실하지 오전하지만 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 
     } 
    } 

마지막으로 당신의 Datagrid에 대한 true에 디자이너 AutogenerateColumns 속성을 설정하려면, 반드시 .

관련 문제