使用ajax和jsf呈现datatable列
我有一个datatable,其中列出了一些项目以及一些详细信息:使用ajax和jsf呈现datatable列,ajax,jsf-2,datatable,Ajax,Jsf 2,Datatable,我有一个datatable,其中列出了一些项目以及一些详细信息: <h:dataTable id="versionInterfaces_datatable" styleClass="datatable" rowClasses="odd,even" value="#{versionToolManager.version.interfaces}" var="lInterface"> <h:column> &l
<h:dataTable id="versionInterfaces_datatable"
styleClass="datatable" rowClasses="odd,even"
value="#{versionToolManager.version.interfaces}"
var="lInterface">
<h:column>
<f:facet name="header">Interface Name</f:facet>
<h:commandLink id="versionInterfacesName_columnLink"
value="#{lInterface.name}"
action="#{interfaceManager.consult}">
<f:setPropertyActionListener
target="#{interfaceManager.interfaceEntity}"
value="#{lInterface}" />
</h:commandLink>
<h:outputText id="versionInterfacesName_column" value="#{lInterface.name}" />
</h:column>
<h:column id="interfaceVersions_column">
<f:facet name="header">Interface Version(s)</f:facet>
<ui:repeat value="#{lInterface.versionsInterface}" var="lVersionI"
varStatus="lStatus">
<h:outputText rendered="#{lVersionI.versionsTools.contains(versionToolManager.version)}" value=" #{lVersionI.name} | " />
</ui:repeat>
</h:column>
<h:column>
<f:facet name="header">Interface Description</f:facet>
<h:outputText id="versionInterfacesDescription_column"
value="#{lInterface.description}" />
</h:column>
接口名
接口版本
接口描述
然后我有一个按钮调用一个模态视图,允许添加项目:
<h:commandButton id="#{id}OpenModal_button"
value="#{openButtonValue}"
onclick="document.getElementById('#{formId}:#{modal_panel}').style.display='block'; return false;" />
<br />
关闭此模式视图时,我尝试“刷新”datatable以查看添加的项:
<h:commandButton id="#{id}CloseModal_button"
value="#{closeButtonValue}">
<f:ajax execute="@this"
render="#{renderOnClose} #{formId}:#{modal_panel}" />
</h:commandButton>
但是,我的datatable的列并没有全部更新,“Interface Version(s)”列对于对应于新项的新行是空的,即使在保存时,它们已经被很好地添加
你知道吗?问题是
所以我成功地解决了我的问题,但这不是语法问题,而是模型和bean结构的错误使用。在没有详细说明的情况下,我试图获取未链接到相应项目的数据。感谢您的回答,但它没有改变任何内容,列不会更新。但是如果你认为这是关于渲染的范围,也许我应该在渲染属性中添加一些东西?