我知道如何从代码后的数据表中删除行。
JSP
<h:graphicImage id="deleteRowBtn_img" url="../../images/table_icon_delete.gif" style="cursor:pointer" alt="Delete Row">
<a4j:support id="deleteRowBtn" event="onclick" actionListener="#{mnpAction.deleteMultiNoPortRow}" reRender="multiNoPortTable" oncomplete="resetViewConfigs();"/>
</h:graphicImage>
动作bean
public void deleteMultiNoPortRow(ActionEvent ae) {
{
int index = abcBean.getDataTable().getRowIndex();
mnpBean.getMultiNoPortingList().remove(index);
}
}
但我想知道有没有其他方法可以从JSF1.2
中删除数据表中的行。
关于此的任何帮助欣赏!!!!!!
答案 0 :(得分:0)
您可以使用a4j:commandButton
及其image
属性而不是<h:graphicImage>
获得相同的外观和功能,如下所示。
<a4j:commandButton image="../../images/table_icon_delete.gif" actionListener="#{mnpAction.deleteMultiNoPortRow}"/>
如果您的<h:graphicImage>
位于表的列中,则可以将表的var
传递给烘焙bean中的方法,并从列表中删除该元素,而不必使用{ {1}}。这里使用row index
代替action
。
actionListener
在<a4j:support id="deleteRowBtn" event="onclick" action="#{mnpAction.remove(myVar)}".../>
bean中(假设您的列表类型为mnpAction
)
T
编辑:
由于您使用的是JSF1.2,如果您不想升级EL库,则不能使用public void remove(T s) {
mnpBean.getMultiNoPortingList().remove(s);
}
将参数传递给#{mnpAction.remove(myVar)}"
。