如何在datatacle中显示实际项目的索引?

How to show the actual item's index in datatacle?

在我的应用程序中,我需要在第一个数据表列中显示数据条目的索引,并且它必须在 DnD 之后工作(所以我想该列应该动态刷新)。但是在 Webix 数据表中怎么可能呢?

目前,我可以使用 getIndexById 手动获取索引,但此方法在列模板中不起作用。例如:

/* inside the config */
  drag:true, 
  columns:[    
    { id:"index", template:function(obj){
      console.log(obj.id);
      // doesn't work:
      // console.log(datatable.getIdByIndex(obj.id)); 
    } },
    { id:"id" },       
    { 
      id:"title", fillspace:true, sort:"string"     
    }
  ],
  ready:function(){
    this.eachRow( 
      function (row){ 
        console.log( this.getIndexById(row) ) // works
      }
    ) 
  }
});

/* somewhere else */
console.log(datatable.getIdByIndex(4));

Code sample.

这可能吗?谢谢

要获取行(数据条目)的索引,您必须将索引模板定义为:

template: function(obj){
    return $$("dt").getIndexById(obj.id); }

其中 "dt" 是您的数据表的 ID。当您执行任何 DnD 操作时,它会自动更改索引。此外,检查片段 here.