使用webix进行数据表编辑

时间:2017-03-23 13:22:25

标签: webix

我尝试设置ON数据表编辑,但我不知道为什么它不起作用。检查

var datatable = webix.ui({
    id: "mytable",
    container: "myDATA",
view:"datatable",
autoheight:true,
select: 'row',
multiselect: true,
autoConfig:true,
editable: true,
editaction: 'dblclick',
columns:[
    { id:"rank",    header: translate["en"].rank,              width:50},
    { id:"title",   header: translate["en"].title,  width:200},
    { id:"year",    header: translate["en"].year,      width:80},
    { id:"votes",   header: translate["en"].votes,         width:100}
],
on: {
  onBeforeLoad: function() {
    this.showOverlay('Loading...');
  },
  onAfterLoad: function() {
    if(!this.count()) {
      this.showOverlay('No data found...');
    } else {
      this.hideOverlay();
    }           
  },
  onItemClick: function(id,element,node) {
    var row = this.getItem(id);
    console.log(row);
  }
}

});

我的jsfiddle:http://jsfiddle.net/gdjaero9/40/任何解决方案?

感谢您的回答。

2 个答案:

答案 0 :(得分:0)

您还需要为每列设置the editor

columns:[
        { id:"rank",    header: translate["en"].rank, width:50},
        { id:"title",   header: translate["en"].title, editor:'text', width:200},
        { id:"year",    header: translate["en"].year, editor:'text', width:80},
        { id:"votes",   header: translate["en"].votes, editor:'text', width:100}
    ],

更新了小提琴:http://jsfiddle.net/gdjaero9/44/

答案 1 :(得分:0)

虽然您已经定义了editable: true,但所有单元仍然充当DIV。因为您没有将输入组件分配给您的单元格。要在选择单元格时将div转换为文本框,您必须将编辑器提供给该列。

有各种编辑器:text(将div转换为文本框),select(将div转换为组合框),drowdown(将div转换为下拉框)等。

要在列中添加编辑器,请添加属性: editor:'editor_type'