如何在datatable上设置默认选择?

4ioopgfo  于 2021-07-09  发布在  Java
关注(0)|答案(1)|浏览(650)

我有一个java应用程序,使用hibernate、primefaces、jsf、jquery、twitterbootstrap和spring。
我的应用程序中有许多数据表。
我希望datatable有一个默认的选中项。
primefaces有什么办法吗?现在的情况是这样的:

我想要的是:

以下是数据表:

<!-- Tabela -->
        <p:dataTable 
                     id="dataTableListaCliente"
                     var="cliente" 
                     value="#{clienteBean.lista}" 
                     paginator="true"
                     widgetVar="clientesTable"
                     selection="#{clienteBean.cliente}" 
                     selectionMode="single"
                     filteredValue="#{clienteBean.lista}"
                     style="width: 1100px;"
                     rowsPerPageTemplate="6,10,15,20"   
                     rowKey="#{cliente.id}"
                     paginatorPosition="bottom" 
                     emptyMessage="Nenhum registro encontrado"
                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} 
                                        {PreviousPageLink} {PageLinks} 
                                        {NextPageLink} {LastPageLink} 
                                        {RowsPerPageDropdown}"
                     rows="6">

           <!-- Duplo click em um registro da tabela -->

          <f:facet name="header">  
            <p:outputPanel>  
              <h:outputText value="Pesquisa Geral:" />  
              <p:inputText id="globalFilter"
                           onkeyup="clientesTable.filter()"
                           style="width:500px" />  
            </p:outputPanel>  
          </f:facet>  

           <p:ajax event="rowDblselect"
                oncomplete="document.getElementById('formLista:buttonSelecionar').click();" />

            <p:column 
                      sortBy="#{cliente.id}"
                      filterBy="#{cliente.id}"
                      filterMatchMode="contains"
                      style="width: 20px;"
                      headerText="Id"
                      >
                #{cliente.id}
            </p:column>

            <p:column
                      sortBy="#{cliente.nome}"
                      filterBy="#{cliente.nome}"
                      filterMatchMode="contains"
                      headerText="Nome">
                #{cliente.nome}
            </p:column>

            <p:column
                      sortBy="#{cliente.endereco}"
                      filterBy="#{cliente.endereco}"
                      filterMatchMode="contains"
                      headerText="Endereço"
                      >
                #{cliente.endereco}
            </p:column>

            <p:column filterBy="#{cliente.cidade}"
                      filterMatchMode="contains"
                      headerText="Cidade">
                #{cliente.cidade}
            </p:column>

            <p:column filterBy="#{cliente.CNPJ}"
                      filterMatchMode="contains"
                      headerText="CNPJ">
                #{cliente.CNPJ}
            </p:column>

            <p:column filterBy="#{cliente.CPF}"
                      filterMatchMode="contains"
                      headerText="CPF">
                #{cliente.CPF}
            </p:column>

            <p:column filterBy="#{cliente.inscricaoEstadual}"
                      filterMatchMode="contains"
                      headerText="Inscrição">
                #{cliente.inscricaoEstadual}
            </p:column>

        </p:dataTable>
    </h:form>
gt0wga4j

gt0wga4j1#

只需设置bean值 #{clienteBean.cliente} 它将所选内容保存为第一行的值(在primefaces datatable中从backing bean设置所选行)。

相关问题