aui 数据表可排序 select 行

aui datatable sortable select rows

我正在使用 aui 库制作 sortable 数据table。我希望单元格可以 select 可用(通常是纯文本,没有 javascript 事件绑定)。

columns 定义为

var columns = [
    {
        key: "col1",
        label: "Column 1",
        sortable: true
    },
    {
        key: "col2",
        label: "Column 2",
        sortable: true
    },
    ...
];

如果我使用类似

的东西
var myDatatable = new A.DataTable.Base({
    columnset : columns,
    recordset : data
});

我可以 select 单独的行,但没有排序。

如果我使用

var myDatatable = new A.DataTable({
    columnset : columns,
    recordset : data
});

table 是 sortable 但我不能 select 使用普通的鼠标按下 + 拖动数据。

我在这里错过了什么?

我试过添加以下插件

plugins: [{
    cfg: {
        type: "rows"
    },
    fn: A.Plugin.DataTableHighlight
},
{
    cfg: {
        selectRow: true,
        selectColumn: true
    },
    fn: A.Plugin.DataTableSelection
}]

但是用简单的 select 运气不好。作为参考,aui 文档是 here。请注意,基本示例执行我需要的减去排序操作,而实际示例需要双击(允许编辑)单元格才能 select / 复制内容。

请帮忙。谢谢!

我在呈现 table 后通过清除 mousedown 和 mouseup 事件并覆盖 getEditor 函数设法解决了这个问题,排序仍然有效。

/* text is not selectable otherwise */
myDatatable.get("contentBox").purge(true, "mousedown");
myDatatable.get("contentBox").purge(true, "mouseup");
/* suppress getEditor */
A.DataTable.prototype.getEditor = function() {};