java Wicket DND下拉式顶部/底部带桌子
使用wicket dnd,是否可以对HTML表使用dropTop()
/dropBottom()
?如果是,选择器应该是什么
我有一个通过ListView
创建的HTML表,并成功地使用了dropCentre("tr")
,但这是唯一一个看起来有效的drop选项。理想情况下,我希望使用dropTopAndBottom()
并查看表行之间的水平分隔符,该分隔符指示放置目标
更新: 以下是相关代码,为简洁起见进行了简化。该表每行有一个标签,并添加到表单中
// Container class for Wicket DND
final WebMarkupContainer dataWrapper = new WebMarkupContainer("dataWrapper");
dataWrapper.add(new WebTheme());
final ListView<BinaryData> data = new ListView<BinaryData>("data", list) {
@Override
protected void populateItem(final ListItem<BinaryData> item) {
final BinaryData data = item.getModelObject();
item.add(new Label("label", data.getLabel()));
}
@Override
protected ListItem<BinaryData> newItem(final int index, final IModel<BinaryData> itemModel) {
final ListItem<BinaryData> item = super.newItem(index, itemModel);
item.setOutputMarkupId(true);
return item;
}
};
dataWrapper.add(data);
dataWrapper.add(new DragSource(Operation.MOVE) {
@Override
public void onAfterDrop(final AjaxRequestTarget target, final Transfer transfer) {
}
}.drag("tr"));
dataWrapper.add(new DropTarget(Operation.MOVE) {
@Override
public void onDrop(final AjaxRequestTarget ajaxTarget, final Transfer transfer, final Location location) {
}
}.dropTopAndBottom("tr"));
form.add(dataWrapper);
以及标记:
<div wicket:id="dataWrapper">
<table>
<tbody>
<tr wicket:id="data">
<td wicket:id="label"></td>
</tr>
</tbody>
</table>
</div>
我使用的是Wicket DND 0.6.0和Wicket 6.6.0。当我使用此代码拖动一行时,会在拖动指示器中显示红十字图标
# 1 楼答案
wicket dnd使用标准css选择器确定放置位置
以下是wicket dnd示例中的修改表格示例:
# 2 楼答案
我的问题不是由Wicket DND引起的,而是由标记中对JQuery UI的引用明显冲突引起的(Wicket DND不需要JQuery UI,但我的应用程序的其他组件也有JQuery UI)
用WiQuery提供的引用替换此选项将不再导致任何问题: