Это код, который я пробовал, могу ли я изменить цвет ячейки, когда размер введенных новых значений больше 6 цифр.Могу ли я изменить цвет ячейки в руках на столе после использования обратного вызова после изменения в этой ячейке?
var hot = new Handsontable(example1, {
data: data,
colHeaders: true,
rowHeaders: true,
contextMenu: true,
columns: [{},
{type : 'numeric', format: '0,0'},
{type : 'numeric', format: '0,0'},
{type : 'numeric', format: '0,0'}],
hiddenRows: {
rows: [3, 5, 9],
indicators: true
}
});
var logicalErrorsRenderer = function(instance, td, row, col, prop, value, cellProperties) {
Handsontable.renderers.TextRenderer.apply(this, arguments);
td.style.background = 'red';
};
var rowsWithErrorData = [];
hot.updateSettings({
afterChange: function(changes, source){
console.log(source);
if(source === "edit")
console.log(changes);
var row = changes[0][0];
var columnN = changes[0][1];
var oldValue = changes[0][2];
var newValue = changes[0][3];
var lengthofNewValue = newValue.toString().length;
console.log("length of changed Value"+ lengthofNewValue);
console.log("lets think A column is fixed or text field like in our case");
if(columnN >= 1){
if(isNaN(newValue) && lengthofNewValue >= 6){//**here I want to change the color of this particular cell**
renderer: logicalErrorsRenderer
}
}
console.log("In after changes methods" + hot.getDataAtRow(row));
console.log(rowsWithErrorData);
}
})
Здесь я использую руки на стол обратного вызова «после изменения» и делать некоторые валидаций как если значение является числом или нет, и толкая те строки, которые имеют ошибки в ошибку, и я хочу высокие свет, который клетка не удовлетворяет этим ограничениям красным цветом.
, возвращенным в вашем console.log для 'row' и 'nolumnN'? т.е. возвращаемые параметры на этом этапе правильны при тестировании? – Sam0
да, я получаю значения строк и столбцов конкретной измененной ячейки. –
Дайте мне знать, что происходит с ответом ниже, чтобы его можно было соответствующим образом отрегулировать. Обычно я использую скрипку, но в этом случае есть немного догадок. это jQuery-решение (поскольку вопрос также отмечен jQuery), поэтому убедитесь, что библиотека также действует. – Sam0