0

FramedPanel に Grid を含め、gxt dnd を使用したい。
しかし、DragSource に FramedPanel を追加すると:

DragSource source = new DragSource(framedPanel) {
              @Override
              protected void onDragStart(DndDragStartEvent event) {
                super.onDragStart(event);
                event.setData(framedPanel);


              }
            };


DnD は、グリッドをクリックしたままにすると機能します。私がDnDにできることは、FramedPanelのヘッダーでのみ機能しました。

4

1 に答える 1

1

Draggableの代わりに使用することを検討してからDragSource、2 つの引数を取るコンストラクターを使用してください。このようにして、ヘッダーを「ハンドル」引数として指定できます。

Draggable draggable = new Draggable(framedPanel, framedPanel.getHeader());
//assuming GXT 3, just guessing from your post
draggable.addDragStartHandler(new DragStartHandler() {
  public void onDragStart(DragStartEvent event) {
    //...
  }
});

DragSource を使用する必要がある場合は、それをサブクラス化して Draggable インスタンスを置き換え、上記のように新しいインスタンスを作成し、さらに既存の DragSource コンストラクターで見つかった変更を行います。

于 2013-07-31T03:58:39.877 に答える