我正在使用aui库来制作可排序的数据表。我希望单元格可以选择(通常是纯文本,没有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
});
我可以选择单个行,但没有排序。
如果我使用
var myDatatable = new A.DataTable({
columnset : columns,
recordset : data
});
该表是可排序的,但我无法通过正常的鼠标按下+拖动来选择数据。
我在这里缺少什么?
我尝试添加以下插件
plugins: [{
cfg: {
type: "rows"
},
fn: A.Plugin.DataTableHighlight
},
{
cfg: {
selectRow: true,
selectColumn: true
},
fn: A.Plugin.DataTableSelection
}]
但简单的选择没有运气。作为参考,aui文档是here。请注意,基本示例执行我需要的减去排序,并且真实示例需要在单元格上双击(允许编辑)才能选择/复制内容。
请帮忙。谢谢!
答案 0 :(得分:0)
我设法通过清除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() {};