Is there a way to customize the dropdown renderer? I want to make dropdown cell’s bold, and left-aligned.
Thanks.
Is there a way to customize the dropdown renderer? I want to make dropdown cell’s bold, and left-aligned.
Thanks.
Hi @mariothomas
You can pick one of the 3 options
className
https://handsontable.com/docs/javascript-data-grid/handsontable-cell-type/
Thanks! Have been experimenting with this, and think the custom cell editor extending the autocompleteEditor would be the best option. Could you show an example of this?
To clarify - I have an existing custom cell renderer function for Text, how can I also implement a custom renderer for autocomplete?
function factRenderer(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);
if (cellProperties.isFact) {
console.log("Fact", cellProperties)
td.style.backgroundColor = "#f0f4fa";
if (monetaryUnits == 'm'){
td.innerHTML = '$ ' + (Math.round(value / 1000000)).toLocaleString() + " "+ monetaryUnits +''
}
else{
td.innerHTML = '$ ' + (Math.round(value / 100000000)/10).toLocaleString() + " "+ monetaryUnits +''
}
// if (value == "Not Found"){
// td.style.color = 'red';
// }
// else {
// td.style.color = 'green';
// }
cellProperties.readOnly = true;
}
else {
if (value){
if((String(instance.getSourceDataAtCell(row, col)).substring(0, 1)) == '='){
td.style.color = 'green';
}
console.log("String ", value, cellProperties)
}
} Handsontable.renderers.registerRenderer('factRenderer', factRenderer);
Hi @mariothomas ,
In your second line of code you have
Handsontable.renderers.TextRenderer.apply(this, arguments);
so you should replace it with
Handsontable.renderers.AutocompleteRenderer.apply(this, arguments);
to use the autocomplete/dropdown cell renderer. I also recommend skipping the logs, that makes the renderer really heavy. If you’d like to have some data logged after rendering ends I recommend using the afterRender
hook.
ps. here’s how the general renderer is composed https://github.com/handsontable/handsontable/blob/6a1706061163b8d1f7752e54ef6f10efbc764b8b/handsontable/src/renderers/autocompleteRenderer/autocompleteRenderer.js#L22
Thanks! I was able to fix it.
I’m happy to hear that. Thank you for the update.