我使用JSF 2.0与Primeface 3.4.2
由于某种奇怪的原因,当单击datatable中行的命令按钮时,我无法在弹出对话框窗口中获取值。不确定我做错了什么?
任何帮助都是非常值得赞赏的。
我在JSF页面有以下内容
<p:dataTable id="dataTable" var="emp" lazy="true"
value="#{myMB.lazyModel}"
selection="#{myMB.selectedEmployee}"...>
<p:column>
<p:commandButton id="edit" update=":frmedit:editDlg" process="@this"
onmousedown="dlg.show()" icon="ui-icon-pencil"
title="Edit" >
<f:setPropertyActionListener value="#{emp}"
target="#{myMB.selectedEmployee}" />
</p:commandButton>
</p:column>
对话框代码
<h:form id="frmedit">
<p:dialog header="Employees" style="font-weight:bold"
widgetVar=Dialog" resizable="false" id="dlg"
showEffect="fade" hideEffect="fade" appendToBody="true"
modal="true" width="200" height="250">
<h:panelGrid columns="2" cellspacing="5">
<h:outputText value="Employee #" />
<h:outputText value="#{myMB.selectedEmployee.empNo}"
style="font-weight:bold" />
</h:panelGrid>
最后是ManagedBean
@Named("myMB")
@ViewAccessScoped
private Employee selectedEmployee= new Employee();
有能手和二传手
更新1
<p:column>
<p:commandButton id="edit" update=":frmedit:display" process="@this"
title="View"
icon="ui-icon-pencil" style="border-width:0;background:none;"
onmousedown="Dialog.show()">
<f:setPropertyActionListener value="#{emp}"
target="#{myMB.selectedEmployee}" />
</p:commandButton>
</p:column>
<p:dialog header="Employees" style="font-weight:bold"
widgetVar=Dialog" resizable="false" id="dlg"
showEffect="fade" hideEffect="fade" appendToBody="true"
modal="true" width="200" height="250">
<h:form id="frmedit">
<h:panelGrid id="display" columns="2" cellspacing="5">
<h:outputText value="Employee #" />
<h:outputText value="#{myMB.selectedEmployee.empNo}"
style="font-weight:bold" />
</h:panelGrid>
</h:form>
</p:dialog>
请尝试在中使用WidgetVar="dlg"
对话框
从其widgetVar
属性
所以dlg。show()
指的是widgetVar=“dlg”
而不是id
出现这种情况的三个主要原因是
>
属性侦听器未设置该值。您可以通过向该属性的setter添加一些日志来轻松调试它
bean实际上是重新创建的,并且selected雇员属性是根据您的行重新初始化的:
Employee selectedEmployee= new Employee();
根据您对上一个答案的评论,对于具有相同值的同一对话框,您不应该有widgetVar
和id
我投赞成票(3)。您应该验证bean实际上没有被丢弃和重新创建(构造函数或@PostConstructor
日志记录)。
我不知道为什么youtue_title和youtube_description是空的???在我添加文本到这个编辑文本???我一直这样做为什么现在它不工作??? 有问题吗,因为它在弹出窗口中?
我正在使用Kendo网格,其中有几个列用于概览行数据。当用户单击添加/编辑按钮时,弹出窗口将显示一些附加数据,其中包括一些复选框。 我在将复选框与当前MVVM模型绑定时遇到问题,因为在添加新行时,Kendo将模型视为变量,而不是数组。这会导致在选中一个复选框(单击)时选中多个复选框。在看了剑道MVVM之后,我打算得到当前弹出窗口的MVVM模型,以便操作一些数据,但没有成功。因此,我将在以下方面寻求
我有一个EditText对象输入,我正在动态创建。当我选择EditText对象输入文本时,我只是不想弹出小键盘,因为我制作了不同的按钮并为所有这些按钮设置了OnClickListner-s,它们将执行输入,但当小键盘弹出时,它覆盖了屏幕,我想禁用它,因为我不想让任何人从小键盘输入文本。我只希望他们从我创建的按钮输入值。
问题内容: 有人可以建议我如何在Java Swing中实现弹出窗口。我希望弹出窗口是模式窗口(打开弹出窗口时用户无法返回主窗口)。 我尝试使用JDialog进行操作,但是它只允许一个小部件供用户输入,而我需要多个小部件。我在这里可能是错的,但这就是我能够做到的。 感谢你的帮助。 问题答案: 使用一个JDialog。可以添加的内容没有限制,可以将所需的内容添加到JDialog中(与使用JFrame时
所以我正在c#winform中使用硒火狐web驱动程序,我在下面有这段代码来获取弹出窗口的句柄,当您单击“webtraffic_popup_start_button”时显示,它应该获得弹出窗口的句柄,但弹出句柄与当前句柄相同。 任何帮助将不胜感激 这就是弹出式菜单的样子。
我的活动有一个弹出窗口,弹出窗口有编辑文本。问题是,当我将弹出窗口设置为外部可触摸时,错误编辑文本不会在android中打开弹出窗口中的键盘,我通过在弹出窗口中提供取消按钮来关闭弹出窗口。请帮忙,谢谢。