SAPUI5 - Nummer Format Lokalisierung

Ich habe ein Problem mit Zahlenformat für Dezimalzahlen in verschiedenen Sprachen.
Für die WÄHRUNG control-system braucht das richtige format, basierend auf der Sprache aus der URL-parameter; US-und DE
?sap-ui-language=DE oder ?sap-ui-language=US

Für die Eingabefelder was hat type=Number - Attribut, verwendet immer DOT als Dezimaltrennzeichen, unabhängig von der Sprache-Einstellung.
Gibt es eine Lösung für dieses problem ?
Ich habe einen dynamischen sap.ui.Tabelle aufgefüllt (für Zeilen und Spalten) und einige Zeilen hat Anzahl Felder und einige Zeilen als text-Feldern, so sende ich dataformat aus dem backend dynamisch wie unten;

temp = new sap.m.Input(sColumnId + index,{  value:"{path: '" + sColumnId + "'}" , type:"{DATATYPE}",  textAlign:"Right", liveChange:[handle_livechange,this], change:[handle_change, this] , editable:"{path:'EDITABLE', type:'sap.ui.model.odata.type.String'}" }

da sind einige Zeilen text basiert, kann ich nicht schwierig, code-Formatierer, wie unten;

 type:'sap.ui.model.type.Float', formatOptions : {   groupingEnabled: true, groupingSeparator: '.', decimalSeparator : ',', minFractionDigits: 2}}"

Ich habe versucht benutzerdefinierte formatter-aber irgendwie auf dynamische Tabelle meine formatter-Funktion nicht gefunden werden kann.
Ich habe versucht onChange-Methode dynamisch-format, aber in diesem Fall meine javascript-Berechnungen nicht funktioniert.

Wenn ich kontrollieren kann, die option für die Formatierung anhand der Zeilen-Wert mit dem Ausdruck, Bindung, es wird auch mein Problem behoben, aber code unten funktioniert nicht.

temp = new sap.m.Input(sColumnId + index,{  value:"{path: '" + sColumnId + ", =${DATATYPE} === 'Number' ? type:'sap.ui.model.type.Float', formatOptions : {   groupingEnabled: true, groupingSeparator: '.', decimalSeparator : ',', minFractionDigits: 2} : type:'sap.ui.model.type.String' }"
  • Welche Werte kann im backend Rückkehr in {DATATYPE} - Eigenschaft?
  • Es ist eithet Zahl oder Text . Formatierung wunderbar funktioniert, aber wenn es Zahl, system, dezimal-Trennzeichen wie PUNKT, unabhängig von der Sprache einstellen
  • Warum nicht Sie es verwenden, einfacher, wie hier: <Input editable="{EDITABLE}" value="{ path: '- Eigenschaft/Wert', type: 'sap.ui.Modell.Typ.Float'}"/> ? Dies sollte automatisch die locale-Einstellungen zum erstellen des richtigen Trennzeichen.
  • in der gleichen Spalte, ich habe verschiedene Formate. zum Beispiel Zeile 1 Spalte 1 text-format, aber row2 Spalte 2 ist die Anzahl format, das ist, warum ich versuche mich zu ordnen, meine Dezimalstellen mithilfe der Lokalisierung.
  • AFAIK nur "der sap.ui.Modell.Typ.Währung" unterstützt die Lokalisierung. Aber da hast du gemischte Zeilen (String / Number), die Sie möglicherweise schalten müssen, um "sap.ui.Modell.Typ.String" schreiben Sie einen parser und hängen Sie es an den submit-Event
  • ja thx @A. vH ich war in der Planung gleichen, müssen parse und parse zurück.

InformationsquelleAutor bilen | 2017-06-24
Schreibe einen Kommentar