1

今天是个好日子。我想为handsontable制作自定义单元格类型,以便可以将其称为:

//custom renderer
Handsontable.AttestationRenderer = function (instance, TD, row, col, prop, value, cellProperties) {
  if (Handsontable.helper.isNumeric(value)) {
    if (typeof cellProperties.language !== 'undefined') {
      numeral.language(cellProperties.language)
    }
    value = numeral(value).format(cellProperties.format || '0'); //docs: http://numeraljs.com/
    instance.view.wt.wtDom.addClass(TD, 'htNumeric');
  }
  td.addClass('attestationCell');
  Handsontable.TextRenderer(instance, TD, row, col, prop, value, cellProperties);
};  

//custom cell
Handsontable.AttestationCell = {
  editor: Handsontable.TextEditor,
  renderer: Handsontable.NumericRenderer2,
  validator: Handsontable.NumericValidator,
  dataType: 'number'
};

//here setup the friendly aliases that are used by cellProperties.type
Handsontable.cellTypes = {
  text: Handsontable.TextCell,
  date: Handsontable.DateCell,
  numeric: Handsontable.NumericCell,
  attestation: Handsontable.AttestationCell,
  checkbox: Handsontable.CheckboxCell,
  autocomplete: Handsontable.AutocompleteCell,
  handsontable: Handsontable.HandsontableCell
};

var hotcontainer = $('#example');

hotcontainer.handsontable({
columns: [
        {data : "id", type : "numeric"}
        ,{data : "att", type : "attestation"}
    ]
,data : [{id:1, att : 10},{id:10, att:100}]
});

基本上它会扩展为数字类型,并为单元格和属性添加额外的类。但此刻我收到错误:“TypeError:方法不是函数”

4

1 回答 1

1

抱歉打扰大家(唯一的问题是

renderer: Handsontable.NumericRenderer2,

那不是

renderer: Handsontable.AttestationRenderer,
于 2013-08-09T11:31:10.330 回答