【问题标题】:Custom pasting into empty datatable自定义粘贴到空数据表中
【发布时间】:2016-10-21 14:11:19
【问题描述】:

当我尝试粘贴到 webix 数据表中的空白区域时,什么都没有发生,onPaste 事件也没有发生。

基本上,即使未选择现有数据项,我也想通过 onPaste 添加新项。但有没有可能?

类似于列表中的“插入”操作,但在我的用例中,初始化后数据表可以为空(在以下示例中,我添加了一个项目以使剪贴板工作)。这里是:

http://webix.com/snippet/9ae6635b

webix.ui({
  id:'grid',
  view:'datatable',
  select:true,
  clipboard:'custom',
  editable:true,
  columns:[
    { id:'id' },
    { id:'name', fillspace:true, editor:"text" },
    { id:'details' }      
  ],
  data: [ 
    {  }
  ],
  on:{
    onPaste: function(text){        
      this.add({ id:webix.uid(), name:text })
    }
  }
});

欢迎提出任何建议。

【问题讨论】:

  • 嘿,因为你已经包含了“select:true”,因此,为了实现你的“粘贴”,你必须首先选择任何行,然后 CTRL+V 将粘贴复制的文本。虽然,您为粘贴编写的自定义代码是正确的。
  • 对于所需的用例来说还不够。不过,我做到了!

标签: javascript datatable clipboard copy-paste webix


【解决方案1】:

我发现“clipbuffer”只有在数据表有选择时才有焦点。很可能它是数据编辑、检测位置或其他任何东西所必需的。无论如何,'clipbuffer' 可以手动聚焦:

var clipEvent = webix.event($$("grid").getNode(), "click", function(){
      webix.clipbuffer.focus();
});

示例:http://webix.com/snippet/aa441e70

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-25
    • 1970-01-01
    • 2010-11-08
    相关资源
    最近更新 更多