- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有 rowedit 的数据表。我的表格的一列是一个带有列表框的单元格,列表框的项目是动态检索的(取决于另一个单元格中的值)我使用 rowEditInit 来设置 selectedrow 项目。我想更新列表框以检索正确的值。这是行不通的。当我这样做时
<p:ajax event="rowEditInit" listener="#{workOrderDetail.onEdit}" update="orderitemstable" />
然后,当我单击铅笔图标时,我可以看到行切换到编辑模式并检索列表框项目。但直接切换回非编辑模式。
但是当我这样做时
<p:ajax event="rowEditInit" listener="#{workOrderDetail.onEdit}" update="rmactionenumid" />
然后单击铅笔图标将该行置于编辑模式,但不会调用来检索列表框项目。我的猜测是,它不会触发 rmactionenumid 上的更新。
有什么想法吗?
罗尔
这是我的 jsf 代码
<p:ajax event="rowEditInit" listener="#{workOrderDetail.onEdit}" update="rmactionenumid" />
<p:column >
<p:cellEditor>
<f:facet name="output">
<h:outputText id="rmactionenumidlabel" value="#{orderItem.rmActionRepr}" >
</h:outputText>
</f:facet>
<f:facet name="input">
<h:selectOneListbox id="rmactionenumid" value="#{orderItem.rmActionEnumId}" size="1" valueChangeListener="#{workOrderDetail.setActionRepr}">
<f:selectItems value="#{workOrderDetail.actionItems}"/>
<p:ajax event="change" update="partdiscount,labourdiscount,totalprice,:detail:wodetail:totals" execute="@this" />
</h:selectOneListbox>
</f:facet>
</p:cellEditor>
</p:column>
<p:column >
<p:rowEditor id="edit" />
</p:commandLink>
</p:column>
</p:dataTable>
这是我的 java bean 代码
public List<SelectItem> getActionItems() throws MWSException {
ArrayList<SelectItem> actions = new ArrayList<SelectItem>();
if (getSelectedOrderItem() != null) {
ListManager lm = new ListManager(getWA().getMwsProxy());
MWSGenericMapList items = lm.nativeSearch(getWS().getUser(), HdfWebConstants.NS_VEHICLEPARTACTIONS, 0, 0, 200,
false, getSelectedOrderItem().getVehiclePartCode());
for (int i = 0; i < items.size(); i++) {
actions.add(new SelectItem(items.get(i).get("rmaction_enumid").toString(), items.get(i).get("rmaction")
.toString()));
}
}
return actions;
}
public void setSelectedOrderItem(IMWSOrderItem newSelectedOrderItem) throws MWSException {
this.selectedOrderItem = newSelectedOrderItem;
}
public void onEdit(RowEditEvent event) throws MWSException {
setSelectedOrderItem((IMWSOrderItem) event.getObject());
}
我使用的是 PF3.5
最佳答案
它失败了,因为 update="rmactionenumid"
在此构造中相对于表本身,而不是相对于当前表行。
基本上,它正在寻找客户端 ID 为 formId:tableId:rmactionenumid
的组件而不是例如第二排formId:tableId:1:rmactionenumid
。从技术上讲,<p:ajax>
应放置在 <p:column>
内,但这不适用于 rowEditInit
事件。
您需要编写自己的 update
基于 UIData
的客户端 ID组件,可用作 RowEditEvent
参数并将组合的客户端 ID 添加到 PartialViewContext#getRenderIds()
.
因此,删除 <p:ajax update>
并扩展onUpdate()
方法如下:
public void onEdit(RowEditEvent event) {
UIData table = (UIData) event.getComponent();
String updateClientId = table.getClientId() + ":" + table.getRowIndex() + ":rmactionenumid";
FacesContext.getCurrentInstance().getPartialViewContext().getRenderIds().add(updateClientId);
// ...
}
关于jsf - primefaces 数据表 rowedit 不更新单元格元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20901447/
我有一个带有 rowedit 的数据表。我的表格的一列是一个带有列表框的单元格,列表框的项目是动态检索的(取决于另一个单元格中的值)我使用 rowEditInit 来设置 selectedrow 项目
我正在使用 Primefaces 5.2。我正在尝试编辑数据表中的行。 这是我的 xhtml:
我目前遇到了 RowEditing 插件的问题,无法找到任何相关信息来帮助我解决这个问题。 我使用 RowEditing 插件给出了一个网格,并被要求添加一个包含“重置”按钮的行。最好的选择似乎是使用
using System; using System.Collections.Generic; using System.Configuration; using System.Data; using
所以我有一个非常复杂的数据表。它应该能够编辑单行,选择多行,并为每一行显示上下文菜单。单行编辑工作正常,多选工作也很好,我唯一的问题是,每当我尝试在右键单击的行上打开 contextMenu 时,所选
我正在使用 primefaces dataTable 和 rowEdit 事件来更改和保存我的 dataTable 中的值。当我编辑未过滤的行值时,效果很好,但当我过滤值并尝试编辑时,编辑了错误的 I
我有一个可编辑的数据表(行编辑模式)。当我编辑行并单击勾号以确认新值时,我想使用 jqxvalidator 验证一些列(其中一些是必需的)。因此,当点击勾号时,validateRule(#{rowIn
目前rowediting插件提供了update/cancel选项。如果它是新添加的行,当我点击 cancel 按钮时,我希望它不添加新行。 我怎样才能做到这一点? 这是 FIDDLE . 目前,使用r
我正在使用 ExtJS 开发网络应用程序。该应用程序是一个网格,其中可以扩展网格的一些行以将补充信息显示为嵌套网格。并且用户可以编辑父网格中的行。 但是我遇到了问题。嵌套的 grid 通常呈现,但是当
如何在添加新行时从 rowediting 插件的“allowBlank: false”配置中删除窗口错误消息(显示在右侧)? fiddle :https://fiddle.sencha.com/#vi
我正在创建一个 extjs 网格面板,它有一组用户可配置的列。 Ext.grid.Panel组件为此目的提供了一个方便的 reconfigure(store, columns) 方法。 此方法可按预期
我正在使用 编辑数据如下所示的行编辑器。
我是一名优秀的程序员,十分优秀!