Hallo exiter28,
nach einigem rumgeteste habe ich festgestellt, dass wenn du die Zelle, über die Textbox, editierst, er nicht in den BeginEdit und EndEdit reinrennt, wodurch dein DataGridView denkt, dass nichts passiert ist.
Dies konnte ich, zwar nicht auf die schönste Art und Weise, jedoch lösen.
Code:
private void cbOK_Click(object sender, EventArgs e)
{
dapersonen.Update(dspersonen, "personen");
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
dataGridView1.BeginEdit(true);
dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[3].Value = textBox1.Text;
dataGridView1.EndEdit();
textBox1.Focus();
}
Probier das einfach mal aus, bei mir hat das so funktioniert.
Zum Verständnis:
Zuerst sagst du dem DataGrid, dass du jetzt die Spalte editieren wirst, dann editiert du sie und sagst danach, dass sie nun fertig editiert ist. Dann musst du den Fokus wieder auf die TextBox setzen, weil er sonst in der ersten Zelle deines Datagrids ist und du bei mehereren Zeichen, welche du ggf. schreiben möchtest, die erste Zelle editierst. Mit dem "CurrentRow.Index" rufst du den Index der derzeit aktiven Spalte auf, was die Sache dynamischer macht.. gleiches ist auch mit der Zelle möglich.
Ich hoffe das hilft dir weiter
Grüße
Hale
P.S.: Vllt. kommst du ja auf einen besseren Lösungsansatz, jetzt nachdem du weißt, wo das Problem liegt
