Hallo,
ich habe ein DataGridView. Ich weiße diesem ein DataSource zu.
Dummerweise wird immer die erste Zeile automatisch selektiert.
Da ich dies nicht haben möchte, entferne ich die Selectierung mit
foreach (DataGridViewRow r in dgv.SelectedRows)
r.Selected = false;
Nun entsteht das Phänomän, wenn man die erste Zeile makiert, ist die Makierung nicht in der dgv.SelectedRows Auflistung vorhanden.
Man muss also erste Zeile 2 makieren und dann Zeile 1 makieren. Dann ist diese in dgv.SelectedRows vorhanden.
Das Problem besteht auch nur mit der ersten Zeile des Gridviews.
Ist das ein bekanntes Problem, oder habe ich eine notwendige Handlung übersehen?
Mir ist es nicht bekannt, im Gegenteil bei mir funktioniert es wie es soll. Wird also vermutlich an Deinem Projekt/Code liegen.
Danke für das ClearSelection().
Schon wieder eine Zeile Code gesparrt.
Problem ist auch behoben. War ein dummer Fehler von mir.
Das auslösende Event kam von einem ContextMenu. Dieses wurde von mehreren DataGridViews verwendet.
Bei der Ereignisbehandlung habe ich auf dann die SelectedRows vom falsche dgv abgerufen.
Was mich jetzt noch ein wenig wundert ist, das die Seletion bei anderen dgv auch aktiv war. Obwohl ich da garnichts geklickt habe.
Die beiden dgv hatte die selbe DataSource, eine DataView. Anscheinend wird die Selection im Objekt DataView gespeichert.
Also ich habe auch das Problem dass die 1. Zeile beim Aufrufen ausgewählt ist.
Hatte auch das ClearSelection() versucht, jedoch weiss ich nun nicht wo ich das aufrufen soll. Denn beim Load der Form ist es ja schon zu früh.
Könnte mir da jem. nur ne kurze Antwort geben auf meine dumme Frage 🙂
Danke
hi SmEaGoL,
Du könntest das Shown-Ereignis des Formulares verwenden oder überschreiben.
hth
ron