Hallo,
Mein Problem ist folgendes ich habe eine List<string> die als datasource an eine Listbox gebunden ist.
Beim anwählen der Listbox einträge wird über einen event der Ausgewählte eintrag an eine Methode übergeben welche dann anhand des ausgewählten eintrages einen Datensatz aus der DB liest und in entsprechende Texboxen schreibt. Das passiert alles in Form1
Hier mal der Code von Form1
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| public Form1(){ InitializeComponent(); db = new DBclass(); liste = new List<string>(); }
private void dbConnect_Click(object sender, EventArgs e){ liste = db.getListe(); listBox1.DataSource = kundenListe; }
protected void listBox1_SelectedIndexChanged(object sender, EventArgs e){ if(listBox1.DataSource!=null) updateTextboxes(listBox1.SelectedItem.ToString()); }
private void updateTextboxes(string value){ listenEintrag = value; db.loadDaten(listenEintrag); tb1.Text = db.daten[0]; tb2.Text = db.daten[1]; tb2.Text = db.daten[2]; }
private void bt_edit_Click(object sender, EventArgs e) { form2 = new Form2(this); form2.Show(); }
public List<string> Liste { get { return liste;} set { this.liste = value;} } |
Und so siehts in Form2 aus
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| private Form1 form1 = null;
public Form2(f1) { InitializeComponent(); db = new DBclass(); f3Liste = new List<string>(); this.form1 = f1; }
private void btSave_Click(object sender, EventArgs e){ db.edit(tb1.Text, tb2.Text, tb3.Text)); }
private void Form2_FormClosed(object sender, FormClosedEventArgs e) { f3Liste = db.getListe(); this.form1.Liste = f3Liste; this.form1.Refresh(); } |
Wenn ich btSave anklicke dann wird der Datensatz auch geändert, nur wenn ich dann Form2 schließe ist in der Listox die Änderung nicht zu sehen, und wenn dann einen eintrag in der list auswähle
bekomme ich auf
updateTextboxes(listBox1.SelectedItem.ToString()) eine NullReferenceException.
Naja und da komme ich nun nicht weiter.
Schonmal besten Dank für jegliche Hilfe.
mfg mo
Moderiert von
Th69: Code- durch C#-Tags ersetzt