【问题标题】:How to get row index of selected row in PrimeFaces data table using jsf 2.2如何使用 jsf 2.2 获取 PrimeFaces 数据表中选定行的行索引
【发布时间】:2015-02-23 05:08:51
【问题描述】:

例如我正在使用这个数据表

<h:form>
        <p:dataTable var="item" value="#{kilowatManager.show}">
            <p:column headerText="Id">
                <h:outputText value="#{kilowatManager.kilowat.id}" />
            </p:column>
            <p:column headerText="Name">
                <h:outputText value="#{kilowatManager.kilowat.name}" />
            </p:column>
            <p:column headerText="kWH">
                <h:outputText value="#{kilowatManager.kilowat.kwh}" />
            </p:column>
            <p:column headerText="kWD">
                <p:inputText value="#{kilowatManager.kilowat.kwd}"/>
            </p:column>
        </p:dataTable>
    </h:form>

在输入文本中按 ENTER 键后如何获取所选行的值

【问题讨论】:

    标签: jsf primefaces jsf-2.2


    【解决方案1】:

    您可以在选择行后使用按钮。您可以将按钮放在数据表中。例如,您可以将其包含在 f:facet 标记中

    <f:facet name="footer">
    <p:commandButton id="createButton" icon="ui-icon-plus"   value="Nouveau"/>
    <p:commandButton id="editButton"   icon="ui-icon-pencil" type="submit" value="Modifier"  action="#{Controller.Method()}">
    

    你将你的按钮绑定到一个支持 bean,如下所示:

    @ManagedBean(name = "controller")
    @RequestScoped
    public class Controller implements Serializable {
    
        public Controller() {
        }
    
        public void method(){
    
            DataTable dataTable = (DataTable) FacesContext.getCurrentInstance().getViewRoot().findComponent("form:datalist");
            MyDataTableObject myObject = (MyDataTableObject) dataTable.getSelection();            
        } 
    }
    

    其中formdatalisth:formp:dataTable标签的id

    我陷入了这个问题,我使用以下链接找到了我的解决方案 http://forum.primefaces.org/viewtopic.php?f=3&t=29086

    【讨论】:

      猜你喜欢
      • 2011-02-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-09
      • 2018-03-24
      • 1970-01-01
      相关资源
      最近更新 更多