ZK MVC在两个Listbox之间拖放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZK MVC在两个Listbox之间拖放相关的知识,希望对你有一定的参考价值。

我在ZK MVC控制器中遇到问题。

我想管理2 Listbox(右和左)之间的拖放。

此代码加载右侧的项目:

for(int i=0;i<lstEtic.size();i++) {
        Listitem li = new Listitem();
        System.out.println(lstEtic.get(i));
        addListcell(li,lstEtic.get(i));
        right.appendChild(li);

    }

左侧列表框为空。

问:有人请给我一个代码示例来管理Java控制器中的拖放事件吗?

答案

这是一个基于documentation I mentioned的例子。将所有必要的属性设置和onDrop监听器移动到Java非常容易:

<hlayout width="400px" height="400px" apply="path.to.MyComposer">
    <listbox id="left" hflex="1" vflex="1" />
    <listbox id="right" hflex="1" vflex="1" />
</hlayout>

public class MyComposer
    extends SelectorComposer<Component>
{
    @Wire
    private Listbox left;
    @Wire
    private Listbox right;

    @Override
    public void doAfterCompose(Component comp)
        throws Exception
    {
        super.doAfterCompose(comp);

        for (int i = 0; i < 10; i++)
        {
            Listitem li = new Listitem();
            li.appendChild(new Listcell("Item " + i));
            li.setDraggable("true");
            right.appendChild(li);
        }

        left.setDroppable("true");
        left.addEventListener(Events.ON_DROP,
                              (DropEvent event) -> left.appendChild(event.getDragged()));
    }
}

以上是关于ZK MVC在两个Listbox之间拖放的主要内容,如果未能解决你的问题,请参考以下文章

如何通过拖放同步两个列表框元素?

C# ListBox 不允许拖放

使用 gon-wpf 的 ListBox 拖放 - 使选择保持活动状态

拖放后在Treeview中获取子项的名称

在两个 UICollectionView 之间拖放

在两个 QTableView 之间拖放