Hallo,
ich habe mal wieder ein Problemchen.
Es scheint so das beim befüllen des DataGridView mit den Daten aus der DataTable jeweils pro Zelle das CurrentCellChanged Event ausgelöst wird.
C#-Quelltext
1: 2: 3:
| dgvnew.DataSource = dt3; dgvnew.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells; this.Controls.Add(dgvnew); |
Kann das sein? Wenn ja, kann man dieses Event für diese Zeit abschalten? (In VBA gibt es hierfür einen Befehl)
In meiner Tabelle befinden sich pro Zeile Pfade zu Produktbildern.
Ich hatte vor das der User durch das navigieren durch die Zellen sich jeweils das Produktbild in einer PictureBox ansehen kann.
Dazu wolle ich mittels CurrentRow den Pfad der entsprechenden Zeile abfragen.
Das klappt nicht und beim Debuggen stellt sich heraus das der abgefragte Pfad jeweils null ist.
Ich vermute das liegt daran das die Tabelle zu diesem Zeitpunkt noch befüllt wird. Kann das sein?
Hier mein Code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| private void dgvnew_CurrentCellChanged(object sender, EventArgs e) { try { int currentrow = dgvnew.CurrentRow.Index; string myurl = this.dgvnew[23, currentrow].Value.ToString();
HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri(myurl)); HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); Stream resStream = myHttpWebResponse.GetResponseStream(); Image ProductImage = new Bitmap(this.pictureBox1.Size.Width, this.pictureBox1.Size.Height); ProductImage = ((System.Drawing.Image)(Image.FromStream(resStream))); this.pictureBox1.Image = ProductImage; resStream.Close(); myHttpWebResponse.Close();
} catch (WebException) { MessageBox.Show("Fehler"); } } |