【发布时间】:2013-07-27 08:24:49
【问题描述】:
使用 wicket-dnd,是否可以将 dropTop() / dropBottom() 与 HTML 表格一起使用?如果是这样,选择器应该是什么?
我有一个通过 ListView 创建的 HTML 表,并且在 dropCentre("tr") 上取得了成功,但这是唯一似乎有效的删除选项。理想情况下,我想使用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。当我使用此代码拖动一行时,我会在拖动指示器中显示红十字图标。
【问题讨论】:
-
您的示例在这里运行良好。请创建一个快速入门并将其附加到 Github 中的问题。
标签: java drag-and-drop wicket