我正在尝试从qx.ui.table.Table小部件拖动到其他小部件。 我无法获得有关我试图拖动的表格行的信息。
我想拖动一行(分别是其内容)而不进行聚焦或选择,例如,只需单击该行并立即开始拖动。
谢谢, 弗里茨
答案 0 :(得分:1)
我在这种情况下所做的是首先将表focusCellOnPointerMove
属性设置为true
。
如果您不希望鼠标移动时突出显示单元格的反馈,您可以另外调用table.highlightFocusedRow(false)
来阻止它。
这种方式表是"意识到"当前在鼠标指针下的单元格/行。
然后您就可以在表dragstart
事件处理程序中检测当前行索引:
_onDragStartGetFocusedRow : function(e) {
var index = this.getFocusedRow();
if(qx.lang.Type.isNumber(index)) {
// do something usefull with this information
// and start dragging
e.addAction("move);
e.addType("myType");
}
},
完成拖放操作后,您可以通过调用table.resetCellFocus()
来重置焦点行。在dragend
处理程序中。
当然,这只适用于指针设备。