mo0n_ - Do 26.01.12 11:57
Titel: labeltext via for Schleife ändern
Hallo Leute,
wie immer habe ich eine Frage:
ich habe auf meinem Form exakt 10 labels bei denen ich den Text via for-Schleife ändern möchte.
Sie sind von 11-21 nummeriert.
Ich habe in anderen Foren Lösungen gefunden, die aber alle auf dem folgenden Code basieren:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| Label[] label = new Label[5]; for( int i = 0; i < label.Length; i++) { label[i] = new Label(); }
und zum ändern des Textes
for( int i = 0; i < label.Length; i++) { label[i].Text = "abc"; } |
So will ich es nicht machen !
Ich dachte eher an so eine Lösung, wozu mir aber der entscheidende Anstoß fehlt:
C#-Quelltext
1: 2: 3: 4: 5: 6:
| int counter = 11; for (int i = 0; i < this.dataGridViewRow.Cells.Count - 1; i++) { label[counter] = this.dataGridViewRow.Cells[i].Value.ToString(); counter++; } |
was aber so nicht funktioniert.
Ideen ?
mo0n_ - Do 26.01.12 15:08
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| int y = 97; for (int i = 1; i < this.dataGridViewRow.Cells.Count; i++) { Label lbl = new Label(); lbl.Name = "Label" + i.ToString(); lbl.Location = new Point(209, y); lbl.Text = this.dataGridViewRow.Cells[i].Value.ToString(); lbl.AutoSize = true; this.Controls.Add(lbl); y += 30; } |
so habe ich es gelöst. Vielen Dank TH.
Allerdings folgt nun mein Problem Nummer 2:
Wie du meinem Code entnehmen kannst habe will ich den labels Values aus einer Zeile aus meinem via BindingSource angebundenem DGV zugeordnet.
Dieses DGV befindet sich auf einem vorhergehenden Form (Form A)
Das DGV enthält nur eine Auswahl von Feldern die sich in der angesteuerten Tabelle befinden.
die ausgewählten Felder habe ich mit folgendem Befehl ausgelesen und an das aktuelle Form (Form B) übergeben:
C#-Quelltext
1: 2:
| Details dlg = new Details(this.dataGridView1.CurrentRow); dlg.ShowDialog(); |
Auf Form B) befinden sich die labels aus meinem Vorhergehenden Problem.
Diese sollen jetzt die Values ALLER Felder der Tabelle annehmen.
An sich ist das einsetzen der Werte in die Labels kein Problem
C#-Quelltext
1:
| lbl.Text = this.dataGridViewRow.Cells[i].Value.ToString(); |
allerdings nehmen die Labels nur die selektierten Werte aus Form A an, was ja an sich auch logisch ist.
Meine Frage ist jetzt:
Wie erreiche ich, das alle Werte des ausgewählten Datensatzes ausgelesen und eingesetzt werden?
packe das ganze nochmal in ein neues Thema.
du bist mein Lebensretter :)