当前位置: 首页 > 知识库问答 >
问题:

我无法从一个方面进行更新

祁飞翰
2023-03-14

我将primefaces 3.3与JSF 2.1结合使用。在下面的代码中,我有一个primeFaces dataTable,其中包含从数据库中提取的数据行,该数据库通过页面左侧的树组件正确激活。dataTable显示和行为正确。我有一个名为“更新”的删除功能,它刷新我的数据表,并在数据库更新后反映我的更改。我的问题是f:facet(id=“header”)。该方面包含一个commandLink,它在我的数据表中创建一个新行。它的工作原理是,我的数据库已正确更新。在此之后,不会刷新dataTable。为了刷新我的数据表,我必须单击树组件中的另一个节点(在页面左侧),然后返回到原始树节点,以查看我的数据表完全更新。我可以在代码中添加什么来动态更新数据表?不幸的是,我无法添加我在这里尝试过的所有排列——我在这个问题上花了很长时间——非常感谢您的输入!

    <h:form id="formRight" >            
    <p:dataTable var="material" value="#{entityCrudTreeBean.materialList}" id="materials" editable="true" paginator="true" rows="10" sortBy="#{material.name}">
                <p:ajax event="rowEdit" listener="#{entityCrudTreeBean.onEditRow}"/>
                <f:facet id="header" name="header">
                    In-Cell Material Editing
                    <br />
                    <p:commandLink id="create" value="Add new material" action="#{entityCrudTreeBean.createNewMaterial}" update=":formRight"/>
                </f:facet>
                <p:column headerText="Name" style="width:125px">
                    <p:cellEditor>
                        ...
                    </p:cellEditor>
                </p:column>

                <p:column headerText="Options" style="width:10px" >
                    <p:rowEditor />
                    <p:commandLink id="delete" action="#{entityCrudTreeBean.deleteRow(material)}" update=":formRight">
                        <h:graphicImage value="#{resource['icons:Delete-icon.png']}" />
                    </p:commandLink>
                </p:column>
            </p:dataTable>
    </h:form>

编辑:将行更改为


共有2个答案

程卓君
2023-03-14

斯蒂芬,你在正确的轨道上!用一种更简单的方法解决了这个问题:我在托管bean中更新了我的dataTable列表——我是为删除而不是插入而更新的。那里有巨大的疏忽。此代码工作:

宋岳
2023-03-14

不久前我和你有过类似的问题。

我的工作代码如下所示:

<f:facet name="header">Product List
<p:commandLink id="create" value="Add new product" ajax="true" process="@this" 
action="#{modelBean.save}" update="@form"/>
</f:facet>
 类似资料:
  • 问题内容: 我有主GUI线程,其中有一个JprogressBar,并且正在实现ProprtyChangeListener。 当按下按钮时,扩展SwingWorker的其他类将开始执行并执行一系列可能很长的计算。我需要A类中的进度条以根据B类中的变量来呈现进度。 我的代码在下面(我所有失败的尝试都可能有点混乱…) 将不胜感激。 GUI类别: 计算类: 编辑 原始问题仍然存在。出于某种原因,进度条仍然

  • 有没有一种方法让JSF支持bean导致页面上组件的更新?我不希望使用带有update属性的ajax组件来更新页面上的组件。我需要从JSF backing bean方法中触发更新。注页面上的更新可能发生在此方法完成之后或完成之前。我正在使用PrimeFaces,如果使用PrimeFaces有一个解决方案的话。

  • 问题内容: GitHub 似乎 正在做一些不可思议的事情:动画页面变化而不会破坏状态。地址栏会更改,但是页面不会刷新,并且我会进入下一个视图。 例如,命中此URL:as3logback/,然后命中此URL:as3logback /lib 他们在魔鬼中怎么做!!!这太酷了!他们使用的是某种框架还是服务器端的东西? 问题答案: 他们在此处提供了有关其工作方式(HTML5历史API)的详细博客条目:ht

  • 我试图遵循各种建议,但它们没有我的特定错误消息:crt2.o:crtexe.c:(.rdata$.refptr.__onexitend[.refptr.__onexitend]+0x0):未定义对`__onexitend'的引用collect2:error:ld返回1退出状态 希望得到一些东西,但它爆炸了。输出如下所示:/usr/bin/x86_64-w64-mingw32-ld://home/v

  • 我的Java包中有四个类。只有一个类具有方法。 当我运行方法时,我如何运行这四个类中的所有方法? 以下是我的课程: 第一类。JAVA 第二类。爪哇 第三类。JAVA 样品。JAVA

  • 我有一种叫做睡眠的特质: 我可以为每个结构提供不同的睡眠实现,但事实证明,大多数人的睡眠方式很少。你可以睡在床上: 如果你在露营,你可以睡在帐篷里: 有一些奇怪的情况。我有一个朋友可以靠墙睡觉,但大多数人,大多数时候,都会陷入一些简单的情况。 我们定义一些结构,让它们Hibernate: 呃-哦!编译错误: 这个编译器错误很奇怪,因为如果一个trait实现另一个trait时出现了问题,我希望在我这