Wert von datagridview auf textbox
Ich habe ein DataGridView und eine TextBox. Wenn ich auf eine Zelle im DataGridView, wird der Wert kopiert werden muss, auf das Textfeld. Aber das funktioniert nicht immer: es funktioniert nur manchmal.
Hier ist mein code:
private void gvProductos_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
//DataGridViewRow row = new DataGridViewRow();
//row = gvProductos.Rows[e.RowIndex];
////txtDescripcion.Text = string.Empty;
//txtDescripcion.Text = row.Cells[1].Value.ToString();
txtDescripcion.Text = gvProductos.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString();
}
- Hast du einen link/button/linkbutton in der Zelle? Sie benötigen eine Steuerung, um ein Ereignis auszulösen!
- CellContentClick wird nur ausgelöst, wenn Sie auf den content-Teil der Zelle, die nicht anderswo in der Zelle.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden CellClick-Ereignis. Es funktioniert immer.
Lösung, die Sie haben, ist nicht arbeiten, weil CellContentClick nur ausgelöst, wenn Sie auf den content-Teil der Zelle. Wenn Sie auf den anderen Bereich der Zelle, wo der Inhalt nicht da ist, wird es nicht ausgelöst. Das ist, warum das event funktioniert nicht immer. Versuchen Sie auf den Inhalt nur dann wirst du erkennen.
es ist möglich im client-Seite.Während datagrid-Zeile-Datenbindung tritt auf, fügt eine javascript-Methode, die Pässe, die bestimmten text auf der klicken Sie auf .So wird es schneller arbeitet als die oben genannten-Methode, und es ist möglich, acess der Wert in textbox in server-Seite
Ich bin mit einem versteckten flogen und weist was ich passieren dass.
server-side-code kann wie folgt Aussehen
Auf Client-Seite
Hoffen, dass dies für Sie funktioniert
Den CellContentClick arbeitet für die anschließende Auswahl, aber nicht füllen Sie die Textfelder, wenn das datagridview wird zuerst angezeigt. Sie können jedoch die Verwendung einer separaten Methode zum füllen der Textfelder, vorbei an der e.RowIndex. Nach dem datagridview angezeigt wurde, rufen Sie die Methode mit der Zeile Wert der ersten 'Aufnahme'.
18.
19.
24.
Ich denke, dass Sie möchten, deaktivieren Sie die text-box vor Wert geben
wie diese