Hi Community,
ich kenne mich ehrlich gesagt null mit Datagridview Imagecolumns aus und habe auch nichts sinnvolles gefunden.
Ich habe eine Datagridview mit zwei Spalten eine spalte z.B namen an der stelle [0] und eine Imagecolumn an der stelle [1] und nun möchte ich durch eine Schleife mit Bezug auf die Namen das jeweilige Bild anzeigen lassen. Die Bilder die ich habe sind lokal angelegt.
Habe einiges vergebens versucht, bekomm es nicht gebacken -_- bei mir erscheint immer das selbe bild in der Spalte 😕 (mit einer ' for each' schleife nicht hinbekommen 😕)
imgcol.Image = Image.FromFile(@"Dateipfad.jpg")
imgcol.ImageLayout = DataGridViewImageCellLayout.Stretch; // Bild passt sich der Zelle an
Object [] row = new Object[] {"Name", true, imgcol };
Bedanke mich im voraus
Grüße
E24
Der Pfad vom Bild ist in dem Snippet hier hart eingebunden.
Ergo wird nur das Bild genommen.
Was genau ist nun das Problem? 🤔
Wo hängts?
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Ja ich weiss, habe die schleife nicht sinnvoll hinbekommen gehabt und deshalb raus gelöscht, der code sollte nur zeigen das ich das Bild eingebunden habe es sollen ja mind. 10 Bilder eingebunden werden und durch eine Schleife soll das entpsrechende Bild in der Imagecolumn angezeigt werden.
Bin nur ratlos wie ehrlich gesagt 😕 vlt kann mir jemand eine schleife für ein Bild aufzeigen.
danke im voraus
gruß
Solange du immer wieder versuchst Daten in UI Elemente hineinzufrickeln wirst du niemals vorankommen.
Erstelle dir eine Klasse zb. PictureRow
public class PictureRow
{
public string FileName{get;set;}
public Image Picture{get;set;}
}
Mache eine List<PictureRow>, erzeuge die entsprechenden Objekte ( wie du das Bild da reinkommst sollte ja offensichtlich sein ) und binde die Liste an DGV.DataSource.
Done.
DataGridViewImageColumn beschreibt eine gesamte Spalte. Wenn für einzelne Zellen in dieser Spalte verschiedene Bilder hinterlegt werden sollen, ist DataGridViewImageCell dein Freund. In den Links sind Beispiele, wie das ganze zu organisieren ist.
LaTino
Edit: am einfachsten wie immer, und wie von FZelle geschrieben, per Databinding. Sollte das aus Gründen irgendwelcher Art nicht gewünscht sein - siehe oben.
"Furlow, is it always about money?"
"Is there anything else? I mean, how much sex can you have?"
"Don't know. I haven't maxed out yet."
(Furlow & Crichton, Farscape)