Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

selectMany Menu com ordenação

Olá.

Estou tentando, em um projeto próprio, fazer um selectManyMenu ou qualquer outro componente com checkBox, fazer com que eu possa selecionar as opções e de alguma forma ordenar a lista do bean com os componentes selecionados.

Por exemplo:

[ ] Play Station 4

[X ] X-box One

[ X] Nintendo Switch

E então eu conseguisse via dragg and drop, por exemplo, arrastar o Nintendo Switch para cima do X-box One.

[ ] Play Station 4

[ X] Nintendo Switch

[X ] X-box One

de modo que na lista de selecionados no bean, o Xbox One venha depois do Nintendo Switch.

Eu tentei fazer com o selectManyMenu mesmo, porém não consegui. Então tentei com um dataTable com as opções SelectionMode e DraggableRows ativadas, porém quando eu seleciono uma linha, é atualizada em uma lista(listaConsoleSelected) e quando eu mudo a ordenação, é atualizada em outra(listaConsole). Ficou algo do tipo:

<p:dataTable id="consoles" var="console" value="#{consolesBean.listaConsoles}"selection="#{consoleBean.listaConsoleSelected}"rowKey="#{console}" draggableRows="true"  selectionMode="multiple"> <p:ajax event="rowReorder"
listener="#{consolesBean.imprimeLista}"update=":form:consoles" />
<p:column headerText="Id"> <h:outputText value="#{car}" />
</p:column>    </p:dataTable>

Será que existe alguma forma de fazer isso apenas com os componentes do JSF/Primefaces?

2 respostas

Fala ai Alex, tudo bem ?

Fiquei lendo a documentação e cara, não vi nada que consiga o que deseja.

Acho que a forma mais fácil é você criar a parte personalizada.

solução!

É, foi o que eu pensei Matheus.

Acabei usando a datatable com selection mode e draggable rows mesmo e sincronizei as listas conforme uma opção era selecionada ou reordenada. Uma gambiarrazinha mas que funcionou, haha.

Valeu.