0

我在单击按钮时删除一行时遇到了一些问题。我有一个数据表,其中包含 5 列。第五列是一个按钮。我有个需求,在哪里,当我点击按钮时,需要删除按钮对应的行数据。我试图使用数据模型填充列值。下面是我为实现行删除而编写的代码。但是该行没有被删除。

<h:commandButton id="buttonID1"  image="/images/drappimages/delete.png" style="width:15px ;" actionListener="#{adminBean.delete}" >  
<f:ajax  render="adminTableID" ></f:ajax>  
</h:commandButton> 

监听器方法在下面指定

public void delete(ActionEvent event)  
{  
    deleteFlag = true;  
    int rowIndex = adminVODataModel.getRowIndex() ;  
    AdminVO admminData = adminVODataModel.getRowData();  
    System.out.println("The rowIndex that needs to be actioned is :"+ rowIndex);  
    System.out.println("The adminVOList is :"+ adminVOList.size());  
    adminVOList.remove(rowIndex) ;  
    adminVOList.remove(adminData) ;  
    System.out.println("the VOList now is "+ adminVOList.size());  
    adminVODataModel = new ListDataModel<AdminVO>(adminVOList) ;  
    setAdminScheduleVODataModel(adminVODataModel);  

}  

我使用 adminVODataModel 填充数据表。我试图使用上面的代码删除相应的行。但是该行没有被删除。

请协助。提前致谢

4

1 回答 1

1

您应该在删除后更新您的表

只需添加update="@form"到您的<p:ajax. 如果你有一些h:panelGroup包装,你可以把它的 id@form放在更新中。

顺便说一句,我认为在 3.4 中您也可以将表 id 放在update属性的目标中(不确定在 3.4 之前是否可能)

既然你搬到了h:commandButton,试试

render="@form"或者render="somePanelGroudIDThatWrapsTheTable"

不要两者都做adminVOList.remove(rowIndex);adminVOList.remove(adminData) ; 如果你有正确的索引,用它来删除条目

于 2012-09-03T10:41:49.093 回答