2015-11-03 220 views
-1

我已经为handsontable中的复选框应用了自定义呈现器。我的handsontable在其所有行和列中只有复选框。只读属性将应用于在handsontable的设置中指定的行,但是当我在任何复选框上第一次点击时,它会让我取消选中它。一旦完成一次单击,它就会使它只读复选框自定义呈现为handsontable不起作用

function readonly(instance, td, row, col, prop, value, cellProperties) { 
    Handsontable.CheckboxCell.renderer.apply(this, arguments); 
    cellProperties.readOnly = true; 
    td.style.background = '#ECECF2'; 



    var settings1 = { 
      data:$scope.secondGridData, 
      stretchH: 'false', 
      fillHandle: false, 
      colWidths: [85,120, 63, 63, 63,63, 63,63, 63,63, 63, 63, 63,63], 
      comments: true, 



          contextMenu: false, 
          className: "htCenter", 
          cells: function (row, col, prop) { 
            var cellProperties = {}; 
            if((row>=1())){ 
             cellProperties.renderer = readonly; 
            } 
return cellProperties; 
} 
+0

小提琴请好吗? –

回答

0

嗯,一方面,您的设置似乎是在您的渲染器内定义,所以可能不这样做。你应该返回td这就是为什么你的渲染器不工作。解决这两件事情,它应该工作。

+0

,设置在渲染函数之外。我的糟糕,忘了包括大括号。但你是什么意思返回td?我没有明白 –

+0

你看到你的函数'readonly'是以'td'为参数吗?这是实际的HTML节点。你必须返回这个对象,否则你的渲染变化不会被应用。 – ZekeDroid