Ich versuche, den Renderer und das numerische Format für die gleiche handsontable Zelle ohne Glück anzupassen. Die Angabe des benutzerdefinierten Renderers oder des numerischen Formats funktioniert problemlos, aber wenn beide auf dieselbe Zelle angewendet werden, wird das numerische Format ignoriert.handsontable anpassen Renderer und numerisches Format funktioniert nicht
Hier ist ein einfacher Beispielcode, der das Problem veranschaulicht. Ohne cellProperties.renderer = firstRowRenderer; 1,5 wird korrekt als 1,50 € angezeigt, mit dieser Zeile wird 1,5 angezeigt (fett in grün).
JSP
<div id="exampleGrid"></div>
Javascript
function firstRowRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);
td.style.fontWeight = 'bold';
td.style.color = '#177B57';
td.style.background = '#CEC';
}
var contExample = document.getElementById("exampleGrid");
var ExampleHOT;
var language = {
delimiters: {
thousands: '.',
decimal: ','
},
abbreviations: {
thousand: 'k',
million: 'm',
billion: 'b',
trillion: 't'
},
ordinal: function (number) {
return '.';
},
currency: {
symbol: '€'
}
};
if (typeof window !== 'undefined' && this.numeral && this.numeral.language) {
this.numeral.language('de', language);
}
function ExampleTable(){
ExampleHOT = new Handsontable(contExample,{
data: [ [1.5], [] ],
rowHeaders: true,
colHeaders: true,
cells: function (row, col, prop) {
var cellProperties = {};
cellProperties.renderer = firstRowRenderer; // removing this line makes the format work
cellProperties.type = 'numeric';
cellProperties.format = '0.00 $';
cellProperties.language = 'de';
return cellProperties;
}
});}
ExampleTable();
Hat jemand eine Lösung dafür gefunden? Vielen Dank!