So, ich konnte das ganze über ein paar Umwege lösen. Wer ebenfalls, irgendwann, dieses Problem hat - hier meine Vorgehensweise (ist sicherlich nicht die schönste, aber es funktioniert wenigstens

)
1. Boolean Parameter erstellen
C#-Quelltext
1:
| private volatile Boolean _noselection = true; |
2. im SelectionChanged Event der DataGridView Selektierungen aufheben (gleich zu Beginn)
C#-Quelltext
1: 2: 3: 4:
| if (_noselection) { dataGridView1.ClearSelection(); } |
3. Selektierungsverbot bei Mausklick aufgeben (MouseDown Event)
C#-Quelltext
So hat es bei mir funktioniert. Da ich einen eigenen Filter geschrieben habe und nicht mit BindView arbeite (sonst wird nach jeder BindView Zuweisung die erste Reihe selektiert - dies konnte, zu mindestens bei mir, auch nicht mit einem ClearSelection() aufgehoben werden) habe ich die Daten selbständig nach persönlichen Vorgaben gefiltert.
Code zur Erstellung der Tabelle:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| public void BuildTable() {
_table = new DataTable();
_table.Columns.Add(new DataColumn("Kategorie", Type.GetType("System.String"))); _table.Columns.Add(new DataColumn("Bewilligt", Type.GetType("System.Boolean"))); dataGridView1.DataSource = _table; } |
Code zum Füllen der Tabelle:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| public void InitializeData() { var templiste = GetData(); _table.Clear();
foreach (string[] s in templiste) { if (CheckData(s)) { DataRow row = _table.NewRow(); row["Kategorie"] = s[0]; row["Bezeichnung"] = s[1] + " " + s[2]; row["Anzahl"] = s[3]; row["Beginn"] = s[4]; row["Ende"] = s[5]; row["Antragssteller"] = s[6]; row["Bewilligt"] = Convert.ToBoolean(s[7]); _table.Rows.Add(row); } } } |
Bei der CheckData() Funktion prüfe ich nur ob der Datensatz zur derzeitigen Formatierung passt. Die Rückgabe (true/false) bestimmt dann ob der Wert als Reihe aufgenommen wird. Bei jeder Filteränderung wird die Funktion aufgerufen (über die entsprechenden Events der entsprechenden Elemente)
Vielleicht kann ich ja damit jemanden weiterhelfen

Ansonsten bin ich erstmal mit dem Ergebniss zufrieden. Danke aber für jede Hilfe
