Neue Funktionalität für dynamische Editoren: - Einführung eines Shared-Caches (`_DynamicEditorCacheShared`) zur Wiederverwendung von Editoren in `GridControl`. - Dynamische Editoren werden nun pro Zeile behandelt und bei Bedarf aus dem Cache geladen oder neu erstellt. - Neue Methode `ClearDynamicEditorCache`, um den Cache bei Dokumentwechsel zu leeren. Optimierung der Ereignisbehandlung: - Überarbeitung des `CustomRowCellEdit`-Events für effizientere Zuweisung dynamischer Editoren. - Vereinfachung der Logik für `ShowingEditor` und Entfernung veralteter Logik für `HiddenEditor`. Erweiterte Debugging-Optionen: - Einführung des Flags `LOG_HOTSPOTS`, um gezielt Debugging-Informationen zu aktivieren. - Verbesserte Logs für SQL-Abfragen, Cache-Zugriffe und Editor-Erstellungen. Code-Bereinigung und Stabilität: - Entfernung redundanter Logik und Vereinfachung der Behandlung von Währungsformaten. - Verbesserte Speicherverwaltung durch explizites Entfernen und Disposen von Editoren. - Zusätzliche Sicherheitsprüfungen und Fehlerbehandlungen. Ziel der Änderungen: Verbesserung der Performance durch Caching, Erhöhung der Stabilität durch erweiterte Fehlerbehandlung und Optimierung der Wartbarkeit durch klarere Logs und vereinfachte Logik.
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.