問題タブ [primefaces-datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
105 参照

primefaces - ap:dataTable でドラッグ & ドロップと並べ替えを組み合わせる

DataTable 行でドラッグ アンド ドロップと並べ替えを組み合わせる必要があります。異なる列でこれを行う方法があることは知っていますが (1 つの列を並べ替え用に、もう 1 つの列をドラッグ アンド ドロップ用に)、1 つの要素で行う必要があります。
さまざまな方法を試しましたが、何もうまくいきませんでした。問題は、再注文がトリガーされると、そのエリアにドロップできないことです。常にテーブルの最後に戻ります。マウスの位置を取得することはできません。応答性が高く、モバイル デバイスで使用できるようにする必要があるためです。

HTML:

JS:

Bean (必要な場合):

これら2つを組み合わせて実行する方法はありますか?
前もって感謝します

編集:
DataTable 内の行を並べ替え、ドラッグした行をフィールドセットにドロップできるようにしたい。


プライムフェイス 6.2.12
JSF 2.2

編集 2: 1 か月試した後、問題の適切な解決策が見つかりませんでした。他の誰かがこの問題に対処している場合、ここでこれを共有するかもしれないと思った.

1 つの要素 (私の場合は p:column) で columnreorder と組み合わせて Drag&Drop を実現する方法はないようです。問題は、ドラッグすると常に reorderevent がトリガーされることです。ドロップ領域にドロップすると、ドラッグされた要素の dragId は null になります (reorder イベントで開始し、ドラッグ アンド ドロップのイベントで終了したため)

私のクラスではないものを変更することは許可されていなかったという事実のために、私はこれを修正することができませんでした. 最終的に、アクションを 2 つの要素に分けました。そこで、ユーザーが要素をドロップエリアにドラッグできるドラッグハンドルを作成し、列の並べ替えを実現しました。

私が盲目で、誰かがこれに対する答えを知っている場合は、気軽に書いてください. たぶんそれは誰かを助けるかもしれません。少なくともそうする方法があるかどうかは興味深いでしょう