0

タイプBのListGridを表示するために拡張できる行を持つListGridAを取得しました。これらのListGridBには、ListGridCを表示するために拡張できる行もあります。すべてのListGridBは、にリンクされている同じデータソースBによって供給されます。外部キーによるデータソースA。同様に、すべてのListGrids Cは、外部キーによってデータソースBにリンクされている同じデータソースCによって供給されます。

これらすべてのListGridC間でのみドラッグアンドドロップを有効にしたい。したがって、ListGrids Cの初期化中に、これらを呼び出してドラッグアンドドロップエンジンを設定します。

    setCanReorderRecords(true);
    setCanDragRecordsOut(true);
        setCanAcceptDroppedRecords(true);
        setDragDataAction(DragDataAction.MOVE);
ただし、同じグリッド内の行のみを並べ替えることができます。グリッドC間のドラッグアンドドロップは機能しません。誰かが私が欠けているものについて何か考えを持っていますか?

助けてくれてありがとう。

4

2 に答える 2

0

ドラッグアンドドロップを有効にするすべてのコンポーネントに同じタイプを設定します。つまり、タイプCのすべてのリストグリッドでは、次の2つの方法を使用します。

    public static final String DRAG_AND_DROP_TYPE = "typeC";
    ...
    tileGridOfTypeC.setDropTypes(DRAG_AND_DROP_TYPE);
    tileGridOfTypeC.setDragType(DRAG_AND_DROP_TYPE);
    ...
于 2012-12-11T23:34:21.663 に答える
0

SmartGWT2.5を使用しています。このバージョンでは、タイプBのListGridでもドラッグアンドドロップを有効にする必要がありました。また、ListGrids Bにドロップハンドラーを追加しました。これは、event.cancel()を呼び出すだけでドロップアクションをキャンセルします。これは完璧なソリューションではありませんが、少なくとも機能します。

于 2012-12-17T10:59:04.427 に答える