Handsontable 使新插入的单元格可编辑,而已经加载了值为只读的单元格

Handsontable make newly inserted cell editable while already loaded cell with value readonly

我正在使用 handsontable 加载值并进行编辑。

我有一个table如下:

 var cw = document.getElementById('tableorder').clientWidth;
                        var rest = cw - 550;
                        var container = document.getElementById('tableorder');
                        ordertable = new Handsontable(container, {
                            data: data,
                            colHeaders: ['Collection Mode', 'Remarks','Amount'],
                            columns: [
                                {data: 4, readOnly: false, type: 'autocomplete', source: collectionmethod, validator: collectionmethod_validations, strict: true},
                                {data: 5, readOnly: false},
                                {data: 3, readOnly: false, type: 'numeric', format: '0.000', validator: qty_validations, allowInvalid: true}
                            ],
                            minSpareRows: 1,
                            rowHeaders: true,
                            contextMenu: ['row_above', 'row_below', 'remove_row', 'undo', 'redo'],
                            colWidths: [250, rest, 250],
                            autoWrapRow: true,
                            autoWrapCol: true,
                            beforeRemoveRow: removerow_validation
                        });

我有一组来自 ajax 的值,我正在创建 table:

我需要的是:

我需要制作某些单元格read-only。但是如果我插入另一行,那么包含该特定单元格的新行应该是 editable

在我的例子中,我需要以下单元格为 read-only

{data: 3, readOnly: false, type: 'numeric', format: '0.000', validator: qty_validations, allowInvalid: true}

我尝试给 readOnly: false 但是如果我添加新行然后它也变成只读的。

如何使已加载的单元格为只读和新插入的单元格editable?

得到解决方案:

cells :function(row, col, prop) {
                                    var cellProperties = {};

                                    if (row < total_length) {
                                        cellProperties.readOnly = true;

                                    }
                                    else
                                    {
                                        cellProperties.readOnly = false;
                                    }

                                        return cellProperties;
                                }