2015-09-28 2 views
2

У меня есть javascript, который изменяет содержимое определенных ячеек в удобной сетке.Сила замороженной строки столбца для изменения размера с помощью handsontable

Проблема, которую я обнаружил, заключается в том, что при изменении содержимого одной из ячеек строки замороженных строк не изменяются соответствующим образом.

Есть ли функция, которая может запускаться для проверки размеров каждой строки и изменения размера соответственно?

У меня есть Jsfiddle, который показывает проблему:

http://jsfiddle.net/JammyDodger231/145bL7ej/

var myData = Handsontable.helper.createSpreadsheetData(4, 20); 

hot = new Handsontable(container, { 
    data: myData, 
    rowHeaders: true, 
    colHeaders: true, 
    fixedRowsTop: 2, 
    fixedColumnsLeft: 2 
}); 

//Hardcoded just to show issue, this isnt where the content would be changed 
$('.htCore tbody tr:nth-child(2) td:nth-child(5)').html("Test <br /><br />"); 

ответ

1

Ваша проблема в том, что вы НИКОГДА не следует вручную изменить содержание или CSS на столе, который Handsontable делает для вас. Это таблица без состояния, которая будет перегружена, как только вы внесете какие-либо изменения, которые инициируют событие изменения. Прочитайте этот ответ, чтобы получить более подробное описание:

CSS applied on Handsontable grid row on Scroll is not working properly

То, что вы должны делать вместо этого использует методы, которые Handsontable поставок к вам. В вашем случае вы можете использовать hot.setDataAtCell(row, col, value). Вы также можете напрямую изменить myData, так как Handson использует ссылку на него. Все, кроме ручного изменения DOM.

+0

Ах, я не понял, что мне пришлось использовать функции от руки, чтобы изменить содержимое таблицы – JammyDodger231

Смежные вопросы