我在一个表单上有两个rich:dataTable:
1]项目清单(最后一栏包含a4j:commandLink,根据this tutorial)
2]表取决于第一个表中的选择行
第一个表的最后一列:
<rich:column>
<a4j:commandLink>
<h:graphicImage value="/images/icons/edit.png" alt="edit"/>
<a4j:param value="#{it.index}" assignTo="#{myBdeCheck.currentIndex}" />
<f:setPropertyActionListener target="#{myBdeCheck.editedWork}" value="#{bchItem}" />
</a4j:commandLink>
</rich:column>
CommandButton在第二个dataTable的方面:
<h:commandButton id="btnCheck" action="#{myBdeCheck.edit}" value="#{conf.buttonEdit}"/>
此时我必须按下a4j:commandLink(编辑)并在第二个表单上的那个按钮之后,然后显示正确的项目。但我正在使用两个按钮做一件事。
如何直接按a4j:commandLink在第二个数据表中显示正确的项目?
(我试图将action="#{myBdeCheck.edit}"
移动到commandLink,但它不起作用。)
你可以帮帮我吗?
更新:编辑方法:
public void edit()
{
session = DaoSF.getSessionFactory('R').openSession();
try
{
Criteria criteria = session.createCriteria(BDE.class);
(some restrictions...)
dataList = criteria.list();
} catch {......}
}
更新:rich的一部分:dataTable:
<rich:extendedDataTable
id="rich2"
value="#{myBdeCheck.dataList}"
var="bdeItem">
<rich:column>
<f:facet name="header">
<h:outputText value="PersId" />
</f:facet>
<h:outputText value="#{bdeItem.personalNum}"/>
</rich:column>
(.....)
从Richfaces4组件指南:
a4j:commandLink只需要value属性即可运行。使用value属性指定链接的文本。
尝试将值属性添加到a4j:commandLink,然后在编辑方法中调试并查看是否已到达:
<a4j:commandLink value="Example Text" action="#{myBdeCheck.edit}" />
Richfaces4 Component Reference
另外 - 因为你想要使用图像提交,更容易切换到a4j:commandButton?