0
我点击一个按钮删除一行时遇到一些问题。我有一个数据表,其中包含5列。第五栏是一个按钮。我有一个要求,当我点击按钮时,需要删除与按钮对应的行数据。我试图填充使用数据模型的列值。以下是我写的用于实现行删除的代码。但该行并未被删除。JSF在按钮上删除行点击
<h:commandButton id="buttonID1" image="/images/drappimages/delete.png" style="width:15px ;" actionListener="#{adminBean.delete}" >
<f:ajax render="adminTableID" ></f:ajax>
</h:commandButton>
侦听方法是使用adminVODataModel填充数据表下面
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);
}
林指定。我试图使用上面的代码删除相应的行。但该行并未被删除。
请协助。由于提前
感谢丹尼尔的回应。当我在中使用update =“@ form”时它确实有效。但问题是,连续点击删除按钮后,已经被删除的行似乎出现了。首先,当我单击rowIndex 1时,行被删除。第二次,当我点击另一行时,比如rowindex 5,rowindex 5对应的行被删除。但rowIndex1对应的行数据似乎再次出现。 –
vr3w3c9
您是否检查过您的adminVOList数据是否被删除? – rags
@ vr3w3c9要么检查你是删除正确的索引,要么而不是删除索引,你可以传递行var并将其从列表中删除,而不是在p:ajax中的'listener'使用类似'action =“#{adminBean .deleteWithArg(rowObj)}“',似乎你没有正确地从列表/模型中移除 – Daniel