News combit Dev Blog

Was gibt es Neues für .NET?

Veröffentlicht: Montag, 21. September 2020 | 2 Kommentar(e)
 
Wie bei jeder neuen Version gibt es immer viel mehr "unter der Haube", als wir hier im Detail dokumentieren und zeigen können. Dieser Beitrag fasst einige neue Funktionen und Änderungen für unsere .NET-Unterstützung in Version 26 zusammen.



.NET Namespace angepasst

Die Namespaces für alle List & Label-Klassen folgen einem neuen Namensschema. Bisher haben wir aus historischen Gründen die Versionsnummer (z. B. "combit.ListLabel25") als Wurzel für die Namespaces verwendet. Ab Version 26 folgen alle List & Label Klassen dem Namensschema "combit.Reporting". Dies erleichtert die Aktualisierung auf neue Hauptversionen erheblich, da im Idealfall keine Code-Änderungen erforderlich sind.

 

Unterstützung für .NET 5, Unterstützung für .NET 4.0 endet

Da das .NET 5-Release näher rückt, stellen wir sicher, dass List & Label 26 mit den neuesten Builds von Microsoft kompatibel ist. Wir werden die LTS-Version .NET Core 3.1 und - parallel dazu - die neueste .NET 5-Version unterstützen. Unser derzeitiger Fahrplan sieht vor, dann ebenfalls .NET 6 zu unterstützen, sobald es veröffentlicht wird (wahrscheinlich im 4. Quartal 2021), und dann die Unterstützung für .NET Core 3.1 fallen zu lassen, da .NET 6 die nächste LTS-Version ist. Kurz und gut - wir planen, immer zumindest die neueste und die jeweils aktuelle LTS-Version von .NET zu unterstützen.

Eine Randbemerkung: Für die .NET 4.x-Unterstützung von List & Label 26 ist jetzt mindestens .NET 4.7 erforderlich. Dieses Framework gibt es nun seit fast vier Jahren, es wird für alle Zielbetriebssystemversionen unterstützt und ist abwärtskompatibel zu älteren Framework-Versionen. Wir hoffen, dass dieser Schritt keine Unannehmlichkeiten für bestehende Anwendungen verursacht. Die C#-Sprache hat sich im Laufe der Jahre weiterentwickelt, ebenso wie die Codebasis von List & Label. Um nur ein Beispiel zu nennen: Um Tupel als Rückgabewerte verwenden zu können, war eine neuere Framework-Version erforderlich. 
 

Neue Features für den Ad-hoc Designer

Der Ad-hoc Designer erhält eine Reihe von Verbesserungen.

Filtern der Datenquellen für Diagrammprojekte

Dies ist von unschätzbarem Wert, wenn Sie eine große Anzahl von Tabellen in Ihrer Datenquelle haben. Benutzer können die Auswahl jetzt einfach filtern, um nur geeignete Datenquellen anzuzeigen.


Horizontale Balkendiagramme

Balkendiagramme können jetzt leicht zwischen horizontalen und vertikalen Balken umgeschaltet werden.


Bild als Feldtyp

Bildfelder werden jetzt genau wie alle anderen Feldtypen unterstützt.



Sortieren von Tabellen nach 1:1-Feldern

Dies war ein häufiger Wunsch - intern, von Kunden und an unserem Idea Place. Für SQL-Datenquellen können Sie jetzt eine Tabelle nach dem Wert eines 1:1-Beziehungsfeldes sortieren. Beispiel: Um die Tabelle "Orders" nach dem Kundennamen zu sortieren, mussten Sie zuvor eine leere "Customers"-Tabelle einfügen, diese entsprechend sortieren und die Tabelle "Bestellungen" als Untertabelle einfügen. Obwohl dies natürlich funktionierte, war es für Endbenutzer kein leicht zu findender Workaround. Es gab auch Fälle, in denen dies nicht funktionierte (z. B. bei Verwendung einer kombinierten Sortierreihenfolge aus zwei verschiedenen 1:1 Tabellen). In Version 26 unterstützen die .NET SQL-Datenquellen (DbCommandSetDataProvider, SqlConncectionDataProvider, OracleConnectionDataProvider,...) jetzt eine direkte Sortierung nach 1:1-Feldern:



Das Ergebnis ist ein einfacheres Layout, das aber dennoch nach Bedarf sortiert werden kann. Beachten Sie, dass sich im Berichtscontainer nur die Tabelle "Orders" befindet:


Unterstützung für Nullwerte in parametrisierten Datenquellen

Vor zwei Jahren haben wir paremetrisierte Datenquellen eingeführt. Aufgrund der String-Typisierung des Parameters und der Art und Weise, wie die Parametrisierung funktioniert, war es jedoch bisher nicht möglich, mit Nullwerten für Parameter zu arbeiten. In List & Label 26 ist es möglich, Null als Parameterwert zu übergeben, wobei "(Null)" als Syntax verwendet wird. Ein einfaches Beispiel wäre der folgende Befehl:

OleDbConnection conn = new OleDbConnection(northwindConnectionString);
conn.Open();
OleDbCommand cmd = new OleDbCommand("SELECT * FROM Customers Where Customers.Country=?", conn);
OleDbParameter param = new OleDbParameter("Country", OleDbType.VarChar, 50);

// allow null values and set the default for the parameter to null
param.Value = "{{Country=(Null)|choicesfield=Customers.Country|allowNull=true}}";
cmd.Parameters.Add(param);

Bei der Bindung an diesen Befehl wird ein Berichtsparameter für den OleDbParameter hinzugefügt der null sein kann und als Standard auf null gesetzt. 


Weitere neue Features in List & Label 26:
Kombinationsdruck - verschiedene Projekte in einem Druck kombinieren
Leistungsstarke, wiederverwendbare Unterberichte für Ihre Reports




Autor: Jochen Bartlau
Entwicklungsleiter List & Label

Jochen Bartlau leitet als Geschäftsführer die Softwareentwicklung bei combit. Microsoft .NET und Agiles Projektmanagement sind zwei seiner Steckenpferde. Der technikbegeisterte Physiker verbringt seine Freizeit am liebsten mit seiner Familie.


  


Kommentare


combit - Jochen Bartlau
Das geht bereits jetzt :) - hier ist ein Artikel in unserer Knowledgebase zu dem Thema: https://forum.combit.net/t/schweizer-qr-rechnung-mit-list-label-drucken/4954
08.10.2020 15:22:11

Michael Wicki
Wird die Generierung des QR-Codes für die Swiss QR-Bill auch bereits berücksichtigt?
08.10.2020 15:02:43


Ergänzen Sie hier Ihren Kommentar
 
 
 
 
 
+49 (0) 7531 90 60 10