2017-01-10 3 views
0

Ich habe eine Bildspalte und zwei Textspalten. Ich habe indirekt DataGridView bevölkert, aber dann musste ich filtern, also wechselte ich zu DataTable als DataSource Parameter meiner DataGridView. Dies ermöglichte mir die Verwendung der RowFilter.Wie setze ich den DataGridViewImageCellLayout.Zoom-Parameter in einer DataTable-Spalte?

Dies ist, wie ich ein Bild Spalte zum DataTable hinzugefügt:

dataTable.Columns.Add("Image", typeof(byte[])); 

und ich noch ein paar Zeilen mit Bildern: passen

var row = dataTable.NewRow(); 
row["Image"] = imageData; 

Aber die Bilder sind zu groß, und sie müssen . Mit dem DataGridViewImageColumn, habe ich dies zu tun:

ImgColumn.ImageLayout = DataGridViewImageCellLayout.Zoom; 

Aber mit der DataTable ‚s byte[] Spalte Ich sehe nicht, wie ich das tun kann.

Hat jemand eine Idee, wie ich das erreichen kann? Vielen Dank.

+0

Warum Sie typeof nicht verwenden (Image)? Ich frag mich. – onur

+1

@onur Weil ich Bilder als Byte [] von RestClient.DownloadData() empfange, und es keinen Sinn hat, MemoryStream zu erstellen und sie auf Image zu übertragen. – sooqua

Antwort

0

Es macht nichts, ich wusste nicht, dass du noch DGV Spalten zugreifen:

((DataGridViewImageColumn)Dgv.Columns[ImageColumnIndex]).ImageLayout = DataGridViewImageCellLayout.Zoom; 
Verwandte Themen