Logik für Spalten, besser mit Alias-Spalten

Spalten welche in irgendeiner Weise per Logik verändert werden, sollten wenn immer möglich Alias-Spalten sein.

Beispiel: In der Spalte «costs» stehen die Kosten eines Artikels, in der Spalte «quantity» die Anzahl der Artikel. In der Spalte «total» sollen Kosten mit Anz. Artikel multipliziert hinterlegt werden.
e[i].total = e[i].costs * e[i].quantity;

Für den Fall, dass costs oder quantity vom Typ String ist, soll die Multiplikation wie folgt lauten:
e[i].total = kendo.parseFloat(e[i].quantity) * kendo.parseFloat(e[i].costs);

kendo.parseFloat() ist ungleich JavaScript parseFloat().

parseFloat() versus kendo.parseFloat()

stringparseFloat()kendo.parseFloat()
101010
10.3310.331033
10,331010.33
344.566,33344.566344566.33
34 45 663434
40 €4040
$ 60NaNnull

Selber testen und eigene Kendo.culture() laden: https://dojo.telerik.com/aRIYuFik/3

Mit parseFloat() wird die Culture/Ländereinstellung vom Browser nicht berücksichtigt, mit kendo.parseFloat() wird diese berücksichtigt. Da wir System intern nach der Kommastellen Richtlinie arbeiten, wird beim parsen für die Logik parseFloat() verwendet.

Variablen berechnen

Beispiel: e[i].total = e[i].costs * e[i].quantity;
ACHTUNG: Zu berechnende Variablen, wie e[i].total im Beispiel, sollten Alias Spalten sein.

Beispiel 1: Wenn in einer zu berechnenden Spalte ein Wert berechnet wird und in dieser Spalte ein Wert ausserhalb der Parameter dieser geändert wird, so kann es sein, dass ein falscher Wert gespeichert wird.

Beispiel 2: Sie benützen zwei views mit dem gleichen dataSchema im Modus localData (remoteData = 0), so kann es sein, dass die Daten der berechneten Spalte in der anderen Tabelle falsch ausgegeben wird, da die Daten beider Tabellen zusammenhängen.

Weitere Informationen zu diesem Themakreis:
Kommastellen

Schreiben Sie einen Kommentar