簡體   English   中英

p:datatable中的單選按鈕行選擇事件

[英]RadioButton row select event in p:datatable

基於RadioButton / Checkbox的行選擇是一個常見的用例,DataTable通過列選擇模式功能為此提供了解決方案。

<p:dataTable var="car" value="#{tableBean.cars}" paginator="true" rows="10"
                 selection="#{tableBean.selectedCar}">`
     <f:facet name="header">
            RadioButton Based Selection
        </f:facet>

        <p:column selectionMode="single" />

        <p:column headerText="Model">
            <h:outputText value="#{car.model}" />
        </p:column>

        <p:column headerText="Year">
            <h:outputText value="#{car.year}" />
        </p:column>

        <p:column headerText="Manufacturer">
            <h:outputText value="#{car.manufacturer}" />
        </p:column>


        <f:facet name="footer">
            <p:commandButton value="View" image="ui-icon ui-icon-search"
                             update="displaySingle" oncomplete="singleCarDialog.show()"/>
        </f:facet>
    </p:dataTable>

我想知道是否選擇第一列的radioButton, 如何獲得此事件。

  • 因為我想在選擇第一列或最后一列的radioButton時禁用按鈕。
  • 而且我也想在選擇列時獲取列的索引 ,現在我使用selectedCar比較列表,並獲取列的索引。 看起來很丑。有人可以幫我嗎?

這僅適用於PrimeFaces <=2.x。

Primeface的陳列櫃上有一個很好的例子。 有一個屬性rowSelectListener可以像這樣使用:

rowSelectListener="#{tableBean.onRowSelect}"

並在支持bean中:

public void onRowSelect(SelectEvent event) {  
        FacesMessage msg = new FacesMessage("Car Selected", 
                           ((Car) event.getObject()).getModel());  
        FacesContext.getCurrentInstance().addMessage(null, msg);  
}  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM