【问题标题】:How to set a default selection on DataTable?如何在 DataTable 上设置默认选择?
【发布时间】:2014-04-15 01:23:54
【问题描述】:

我有一个 Java 应用程序,我正在使用 Hibernate、Primefaces、JSF、Jquery、Twitterbootstrap 和 Spring。

我的应用程序中有许多 DataTables

我希望 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>

【问题讨论】:

    标签: java jquery jsf primefaces datatable


    【解决方案1】:

    只需将 bean-value #{clienteBean.cliente} 设置为您的第一行的值 (Set selected row from backing bean in primefaces datatable)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-18
      • 1970-01-01
      • 2016-09-20
      • 2020-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-11
      相关资源
      最近更新 更多