HandsOnTable - 如何在数据模式

时间:2016-07-04 06:30:21

标签: javascript handsontable

我需要一个' id'在我的架构中的列,我很乐意使用行标题值,主要是为了避免实现“generate_id”和#39; generate_id'功能。
我的数据模式中有5个字段,但是,我只定义了4列,希望以某种方式将行标题值映射到模式' id'属性,以及避免创建,隐藏和呈现“id”的属性。柱。 我尝试使用 this.hot.getData()[row] .id = this.hot.getRowHeader(row)
但是 getData()返回的对象没有' id' coumn。

有什么想法吗?

const hotConfig = {
        dataSchema: {id: null, name: null, sequence: null, bpLength: null, seqType: null},
        colHeaders: [NAME_COL, SEQUENCE_COL, BPLENGTH_COL, TYPE_COL],
        columns: [
            {
                data: 'name',
                validator: nameFieldValidator,
                allowInvalid: false
            },
            {
                data: 'sequence',
                validator: sequecnceFieldValidator,
                allowInvalid: true,
                width: 1000,
                maxLength: 3
            },
            {
                data: 'bpLength',
                readOnly: true
            },
            {
                data: 'seqType',
                editor: 'select',
                selectOptions: [DNA, AMINO_ACID, UNKNOWN],
                width: 100,
                readOnly: true,
                strict: true
            }
        ],

        rowHeaders: true,
    };

1 个答案:

答案 0 :(得分:0)

看起来这就是诀窍:

{  

   this.hot.addHook('afterChange', this.onCellChanged.bind(this));
   :
   onCellValidated(isValid, value, row, prop, source) {

        this.hot.getSourceDataAtRow(row)[ID_COL_IDX] = this.hot.getRowHeader(row);

    }
}