moin moin,
Mein Programm:
das dgv ist von anfang an auf ReadOnly gestellt.
die zeilen werden per textboxen.text + btn clickevents befüllt.
meine frage:
wie lassen sich einzelne zellen per (zb. doubleclick) events editieren, so dass man nicht immer die ganze zeile löschen muss ?
die idee ist, dass nur zellen in spalte 2 und 3 editiert werden dürfen, dh. ich habe schon folgenden code erstellt
private void dgv_CellContentDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (dgv.CurrentCell.ColumnIndex == 2 || dgv.CurrentCell.ColumnIndex == 3)
{
dgv.CurrentCell.ReadOnly = false;
//hier fehlt nun die funktion der manuellen Tastatureingabe
dgv.CurrentCell.ReadOnly = true;
}
}
wie kann man die eingabe des users erkennen, oder muss man dafür noch ein "eingabe" event erstellen ? (mit index merken und focus() hats auch nicht geklappt)
Hi
Schau dir mal die "EditMode" Eigenschaft des DataGridView an.
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
ok danke für die schnelle antwort.
private void dgv_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
if (dgv.CurrentCell.ColumnIndex == 2 || dgv.CurrentCell.ColumnIndex == 3)
{
dgv.CurrentCell.ReadOnly = false;
dgv.EditMode = DataGridViewEditMode.EditOnEnter;
dgv.BeginEdit(true);
}
}
dieser code sollte doch theoretisch funktionieren oder muss ich nun noch ein BeginEdit event aktivieren/basteln?
Hi
Nein, nicht ganz so. Du stellst den EditMode des Grids beispielsweise auf "EditProgrammatically" (wobei ich erstmal schauen würde ob nicht eine der anderen Möglichkeiten eh schon passt). Setzte das Grid nicht auf ReadOnly, sondern nur die Spalten die du nicht editieren willst. Wenn du's dann wirklich mit Doppelklick willst, rufst du im CellDoubleClick die BeginEdit Methode auf.
Grüße
Flo
Blog: Things about Software Architecture, .NET development and SQL Server
Twitter
Google+
Je mehr ich weiß, desto mehr weiß ich was ich noch nicht weiß.
meine lösung:
das dgv erhält die eigenschaft ReadOnly=false;
nach dem start benutze ich 2 events (Laden und Hinzufügen) in denen die ersten beiden spalten auf ReadOnly = true; gesetzt werden. die restlichen spalten bleiben ReadOnly = false; und können editiert werden....auch ohne EditMode.