2014-02-10 24 views
0

當我點擊一個按鈕時,將列值發送給控制器時,我遇到問題,總是選擇網格的最後一行。我想發送選中的行。實際上,當我調用cambioDeClave()方法時,通常會從數據表中選擇最後的#{lst.usuario}值。如何將行的屬性值發送到p:confirmDialog?

我怎樣才能解決呢? 在此先感謝。

<p:dataTable id="tabla" var="lst" styleClass="myTable" 
      paginatorAlwaysVisible="false" 
      style="word-break:normal; width:600px;letter-spacing:-0.5px;" 
      sortMode="multiple" 
      value="#{busquedaUsuariosController.listado}" paginator="true" 
      rows="20" .................> 

    <p:column headerText="CLAVE" width="48"> 

     <p:commandButton onclick="confirmacionClave.show()" style="width:40px;" 
         type="button" value="#{lst.usuario}" /> 

     <p:confirmDialog message="¿Está seguro que desea generar una nueva clave para el usuario? #{lst.usuario}" 
         showEffect="bounce" hideEffect="explode" severity="alert" 
         widgetVar="confirmacionClave"> 

      <p:commandButton value="Aceptar" update="@form" 
          oncomplete="confirmacionClave.hide()" 
          action="#{busquedaUsuariosController.cambioDeClave(lst.usuario)}" > 
      </p:commandButton> 

      <p:commandButton value="Cancelar" onclick="confirmacionClave.hide()" 
          type="button" /> 
     </p:confirmDialog> 
    </p:column> 
</p:dataTable> 
+0

哪裏是你的''爲什麼是你的''嵌套在''? – kolossus

回答

0

您可以使用p:datatable的選擇屬性。這個選擇屬性映射到這樣的託管bean屬性。

<p:dataTable id="tabla" var="lst" styleClass="myTable" 
       paginatorAlwaysVisible="false" 
       selection="#{busquedaUsuariosController.selectedObject}"............> your 

而且你的託管bean應該有這樣

  BusquedaUsuariosController { 
      Type selectedObject //donno what is ur object type here o 

     }  

一個屬性,就不得不提到您的SelectionMode = 「單/多」。如果你的selectionMode是多個,那麼你應該將你的datatable的選擇屬性映射到一個數組。

希望這會有所幫助。

相關問題