0

このを見て、ユーザーが既に選択されている行のいずれかをクリックした後に選択を保存する方法を理解していません。たとえば、ユーザーが 3 つの行を選択し、そのうちの 1 つをクリックすると、選択した 1 つの行のみに関する情報が表示されます。

これで、次のような遅延読み込みとコンテキスト メニューを備えた DataTable ができました。

                <p:dataTable id="al_table" value="#{alarmTable.alarms}"
                    selection="#{alarmTable.selectedAlarm}" selectionMode="multiple"
                    var="alarm" resizableColumns="true" paginator="true" rows="50"
                    sortBy="#{alarm.alarmTimestamp}" sortOrder="descending"
                    paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                    rowsPerPageTemplate="25, 50, 75, 100" lazy="true"
                    style="table-layout: auto">

                    <p:ajax event="rowDblselect" update=":form:display"
                        oncomplete="alarmDialog.show()" />

そして、選択を除いて、すべてが非常にうまく機能します。現在のようなこの動作では、常に選択が失われるため、同時に複数の行でアクションを実行できません。これを解決するには?

4

2 に答える 2

1

現在の実装では不可能です。コンテキスト メニュー以外のボタンを使用する必要があります。

于 2012-08-01T12:03:14.347 に答える
0

選択を管理するには、DataModel を使用する必要があります。すべてのシングル クリック イベントとダブル クリック イベントで動作するこのサンプルを参照してください。

于 2012-07-13T07:30:54.057 に答える