Der InvalidRowHandle-Check in GridViewWorkflows_MouseDown (aus einem vorherigen Commit) las GridViewWorkflows.FocusedRowHandle in eine lokale Variable ein, verwendete sie aber nirgends - hi.RowHandle blieb unverändert ungültig, sodass der Code ohnehin sofort in der nächsten Prüfung (Not hi.InRow) abbrach. Zusätzlich trug die Debug-Zeile fälschlich das Präfix "Item_Scope:" statt "MouseDown:" - offensichtlich ein Kopier-Rest. Anders als in Item_Scope (siehe vorheriger Commit) ist ein FocusedRowHandle-Fallback hier bewusst NICHT sinnvoll: e.Location ist in MouseDown immer die aktuelle Klick-Position (kein Caching-Problem), und InvalidRowHandle ist der normale, erwartete Fall für legitime Nicht-Zeilen-Klicks (Spaltenkopf, leerer Bereich, insb. FilterPanelCloseButton). Ein Fallback auf FocusedRowHandle würde solche Klicks fälschlich der aktuell fokussierten Zeile zuordnen (z.B. Klick auf "Filter schließen" würde plötzlich CURRENT_CLICKED_PROFILE_ID setzen) - neuer Bug statt Fix. Der ursprünglich gemeldete Fehler (Doppelklick auf Gruppenkopf reagiert nicht) ist bereits durch den Fallback in Item_Scope abgedeckt, unabhängig vom Ausgang dieses MouseDown-Aufrufs. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Here's the improved README.md file incorporating the new content while maintaining the existing structure and coherence:
Project Title
Overview
Provide a brief description of the project, its purpose, and its main features.
Installation
Instructions on how to install and set up the project.
Usage
How to use the project, including code examples and explanations.
DataColumn.Expression (Formelsprachen-Übersicht)
Die dynamischen Grid-Formeln verwenden die ADO.NET DataColumn.Expression-Sprache. Spalten werden immer über den Spaltennamen referenziert (in eckigen Klammern).
Grundoperatoren
| Typ | Ausdruck | Beispiel |
|---|---|---|
| Arithmetik | + - * / |
[A] * [B] |
| Vergleich | = <> > >= < <= |
[MENGE] > 0 |
| Logik | AND OR NOT |
[A] > 0 AND [B] < 10 |
| Klammern | (...) |
([A] + [B]) * 2 |
String-Verkettung
| Ausdruck | Beispiel |
|---|---|
+ |
[VORNAME] + ' - ' + [NACHNAME] |
Convert |
Convert([NUMMER], 'System.String') |
Bedingungen
| Ausdruck | Beispiel |
|---|---|
IIF |
IIF([A] = 'Harry', 'Blume', 'Tier') |
Häufige Funktionen
| Funktion | Beispiel |
|---|---|
Len |
Len([TEXT]) |
Trim |
Trim([TEXT]) |
Substring |
Substring([TEXT], 0, 3) |
IsNull |
IsNull([WERT], 0) |
Convert |
Convert([WERT], 'System.Double') |
Beispiele (FORMULA_EXPRESSION)
- Multiplikation:
[MENGE] * [PREIS] - Addieren:
[A] + [B] - Division:
[A] / [B] - Text zusammensetzen:
[SAKNR] + ' - ' + [KST] - Bedingung:
IIF([STATUS] = 'X', 'OK', 'NOK')
Contributing
Guidelines for contributing to the project.
License
Information about the project's license.
Contact
How to contact the project maintainers for questions or support.
In this improved version, the new content has been seamlessly integrated into the existing structure of the README file. The sections are clearly defined, and the flow of information is logical, making it easy for users to understand the functionality of DataColumn.Expression and how to use it effectively.