如何以编程方式触发编辑器

时间:2018-12-30 00:25:13

标签: tabulator

我已经建立了一个带有一个可编辑列(产品金额)的产品表(一种购物车):

{
    title:"Aantal", 
    field:"product_amount", 
    align:"center", 
    responsive: 3, 
    validator:["required","numeric"], 
    editor:amountEditor, 
    cellEdited:recalcPrices, 
    validator:["required","numeric","min:1","max:10"]
},

我正在使用自定义的jquery amountEditor,因为这看起来比内置编辑器好一些。单击按钮会将行添加到购物车表格(从另一个产品表复制)。一切正常,但我希望用户不必自己单击可编辑的列字段。因此,在将行添加到表格后,唯一的一个可编辑字段应自动/​​以编程方式触发。

我认为我必须在表定义中以某种方式组合这些命令:

rowAdded:function(row){
    var cell = row.getCell("product_amount"); 
    cell.edit();
},

我尽了一切努力,但是我找不到合适的组合来完成这项工作。我可以得到var rowElement = row.getElement(),但是var cells = row.getCells()或var cell = row.getCell(column)看起来是空的。任何帮助深表感谢。

1 个答案:

答案 0 :(得分:0)

您需要使用行组件上的 scrollTo 函数滚动到该行,以确保该行可见,然后才能在单元格上触发编辑,因此< strong> rowAdded 回调要看起来像这样:

rowAdded:function(row){
    row.scrollTo().then(function(){
        row.getCell("product_amount").edit();
    });
},