单击按钮的JSF(1.2)DataTable编辑行

时间:2012-10-14 09:00:49

标签: java jsp jsf

  

可能重复:
  Make editable rows in Datatable

民间,

在下表中,我想编辑行。

enter image description here

单击编辑按钮时,屏幕将如下所示,可编辑字段 enter image description here

当我点击“保存”按钮时,列表应该使用新的值进行更新 同一行。比方说,我将行更改为2000,Micky,4500。

我怎样才能做到这一点?

我尝试了以下逻辑,但它不起作用,请帮助我。

  <h:dataTable binding="#{myBean.dataTable}" id="beanTable" value="#{myBean.dataList}" var="dataItem" styleClass="dataTableEx" headerClass="headerClass"
                columnClasses="columnClass1" rowClasses="rowClass1,rowClass2" border="1"  cellpadding="2" cellspacing="0" >

<h:column>
    <f:facet name="header">
        <h:outputText value="Save" />
    </f:facet>
    <h:commandButton value="Save" actionListener="#{myBean.saveAction}"  />     
</h:column>

<h:column>
    <f:facet name="header">
        <h:outputText value="Edit" />
    </f:facet>
    <h:commandButton id="edit"  value="Edit" actionListener="#{myBean.editAction}"  />      
</h:column>


public void editAction(ActionEvent e){
        MyData data = (MyData)dataTable.getRowData();
        data.setEditable(true);
    }


// saveAction is not working.   
    public void saveAction(ActionEvent e){
        int index = dataTable.getRowIndex();
        MyData data = (MyData)dataTable.getRowData(); // returns old value not the newly edited values.
        dataList.remove(index); // dataList has the bean objects
        dataList.add(index, data); 
    }

0 个答案:

没有答案