Javascript 如何在handsontable中向列的所有单元格添加按钮?

Javascript 如何在handsontable中向列的所有单元格添加按钮?,javascript,handsontable,Javascript,Handsontable,我想为删除操作添加一个按钮或链接到列的单元格。生成的JSON数据是动态的,行数可以随时更改。如何将删除按钮添加到“删除”列的所有单元格 JS小提琴链接 我就是这样做的 var hot = new Handsontable(container, { data: financeData, height: 396, colHeaders: ["Price", "Date", "1D Chg", "YTD Chg", "Vol BTC",'Delete'], rowHeaders: true,

我想为删除操作添加一个按钮或链接到列的单元格。生成的JSON数据是动态的,行数可以随时更改。如何将删除按钮添加到“删除”列的所有单元格

JS小提琴链接


我就是这样做的

  var hot = new Handsontable(container, {
  data: financeData,
height: 396,
colHeaders: ["Price", "Date", "1D Chg", "YTD Chg", "Vol BTC",'Delete'],
rowHeaders: true,
stretchH: 'all',
sortIndicator: true,
columnSorting: true,
contextMenu: true,
columns: [
  {type: 'numeric', format: '$0,0.00'},
  {type: 'date', dateFormat: 'DD/MM/YYYY', correctFormat: true},
  {type: 'numeric', format: '0.00%'},
  {type: 'numeric', format: '0.00%'},
  {type: 'numeric', format: '0.00'},
  {data:'Delete', renderer:renderButtons}
]
 });
    function renderButtons(instance, td, row, col, prop, value, cellProperties) {
  td.innerHTML = "<button onclick='alert()' type='button'>press</button>";
 }
var hot=new Handsontable(容器、{
数据:financeData,
身高:396,
列标题:[“价格”、“日期”、“1D Chg”、“年初至今Chg”、“Vol BTC”、“删除”],
行标题:对,
stretchH:'所有',
sortIndicator:对,
是的,
上下文菜单:正确,
栏目:[
{类型:'numeric',格式:'$0,0.00'},
{type:'date',dateFormat:'DD/MM/YYYY',correctFormat:true},
{类型:'numeric',格式:'0.00%'},
{类型:'numeric',格式:'0.00%'},
{类型:'numeric',格式:'0.00'},
{数据:'Delete',呈现器:renderButtons}
]
});
函数renderButtons(实例、td、行、列、属性、值、单元格属性){
td.innerHTML=“按”;
}
我认为columns数组中有一对多行,所以我将最后一行转换为show。我只使用onclick='alert()'来说明它是有效的。实际上,我会做一些类似$(“#tblname button”)的事情
});

我就是这样做的

  var hot = new Handsontable(container, {
  data: financeData,
height: 396,
colHeaders: ["Price", "Date", "1D Chg", "YTD Chg", "Vol BTC",'Delete'],
rowHeaders: true,
stretchH: 'all',
sortIndicator: true,
columnSorting: true,
contextMenu: true,
columns: [
  {type: 'numeric', format: '$0,0.00'},
  {type: 'date', dateFormat: 'DD/MM/YYYY', correctFormat: true},
  {type: 'numeric', format: '0.00%'},
  {type: 'numeric', format: '0.00%'},
  {type: 'numeric', format: '0.00'},
  {data:'Delete', renderer:renderButtons}
]
 });
    function renderButtons(instance, td, row, col, prop, value, cellProperties) {
  td.innerHTML = "<button onclick='alert()' type='button'>press</button>";
 }
var hot=new Handsontable(容器、{
数据:financeData,
身高:396,
列标题:[“价格”、“日期”、“1D Chg”、“年初至今Chg”、“Vol BTC”、“删除”],
行标题:对,
stretchH:'所有',
sortIndicator:对,
是的,
上下文菜单:正确,
栏目:[
{类型:'numeric',格式:'$0,0.00'},
{type:'date',dateFormat:'DD/MM/YYYY',correctFormat:true},
{类型:'numeric',格式:'0.00%'},
{类型:'numeric',格式:'0.00%'},
{类型:'numeric',格式:'0.00'},
{数据:'Delete',呈现器:renderButtons}
]
});
函数renderButtons(实例、td、行、列、属性、值、单元格属性){
td.innerHTML=“按”;
}
我认为columns数组中有一对多行,所以我将最后一行转换为show。我只使用onclick='alert()'来说明它是有效的。实际上,我会做一些类似$(“#tblname button”)的事情 });

如果使用onclick,请将我的第一个示例中的'alert()'替换为'btnOnClick(this)'

然后在代码中

function btnOnClick(btn) {
    // first parentNode is td, second is tr
    var row = btn.parentNode.parentNode;
    // process row.
}
如果使用onclick,请将我的第一个示例中的'alert()'替换为'btnOnClick(this)'

然后在代码中

function btnOnClick(btn) {
    // first parentNode is td, second is tr
    var row = btn.parentNode.parentNode;
    // process row.
}
感谢您提供的解决方案:)。我也这么想。顺便问一下,您知道如何获取我单击的按钮的行号吗?谢谢您提供的解决方案:)。我也这么想。顺便问一下,你知道如何获取我单击的按钮的行号吗?