JSF 1.2 DataTable Bestway删除行

时间:2012-12-13 13:14:58

标签: jsf jsf-1.2 ajax4jsf

JSF 1.2 DataTable

我知道如何从代码后的数据表中删除行。

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中删除数据表中的行。 关于此的任何帮助欣赏!!!!!!

1 个答案:

答案 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)}"