Простые данные dataTable с выделенными и перетаскиваемыми строками, выбор не выполняется, когда строки переупорядочиваются

jsf-2 primefaces datatable

552 просмотра

1 ответ

У меня есть dataTable простых лиц, которые можно выбрать (одиночный выбор) и перетаскивать строки. Мне также нужно выбрать строку с помощью кнопки (помимо возможности выбрать саму строку). Мой код просмотра:

<p:dataTable id="itemTable" widgetVar="itemTable"
   var="item" draggableRows="true"
   value="#{routesModelBean.itemList}" selectionMode="single"
   selection="#{routesModelBean.selectedItem}"
   rowKey="#{item.id}" rowIndexVar="rowId">

<p:column style="width:32px;text-align: center">
    <p:commandButton icon="ui-icon-search"
        onclick="PF('itemTable').unselectAllRows();PF('itemTable').selectRow(#{rowId},false);" type="button">
    </p:commandButton>
</p:column>

Проблема, кажется, "rowIndexVar". Например, если в моем списке есть два элемента, и я меняю их местами, перетаскивая их, то нажатие кнопки одного элемента приведет к выбору другого.

Изменить: Primefaces версия 6.0

Автор: Οδυσσέας Δούμας Источник Размещён: 08.11.2019 11:16

Ответы (1)


0 плюса

Решение

При переупорядочении строк вы также должны обновить таблицу. Используйте следующее

<p:ajax event="rowReorder" listener="YOUR_LISTENER" update=":itemTable" />
Автор: Apostolos Размещён: 26.08.2016 05:30
Вопросы из категории :
32x32