【发布时间】:2011-06-06 07:28:22
【问题描述】:
当在 primefaces rowEditor 组件中单击取消按钮时,我一直在尝试调用自定义侦听器。但我无法找到正确的属性来执行此操作。
取消按钮的问题是当数据表中已经存在该行时它可以正常工作,如果我尝试向数据表动态添加新行并单击取消按钮[如果我认为它不是required ],空行显示在dataTable中,此时应该删除空行。
你能帮帮我吗?
【问题讨论】:
标签: jsf datatable primefaces
当在 primefaces rowEditor 组件中单击取消按钮时,我一直在尝试调用自定义侦听器。但我无法找到正确的属性来执行此操作。
取消按钮的问题是当数据表中已经存在该行时它可以正常工作,如果我尝试向数据表动态添加新行并单击取消按钮[如果我认为它不是required ],空行显示在dataTable中,此时应该删除空行。
你能帮帮我吗?
【问题讨论】:
标签: jsf datatable primefaces
试试 (JSF2 + Primefaces 2.2.1) ...
<p:column headerText="Test">
<p:rowEditor>
<p:ajaxStatus oncomplete="#{yourBean.yourHandleMethod()}"></p:ajaxStatus>
</p:rowEditor>
</p:column>
【讨论】:
恐怕此功能无法开箱即用。 rowEditor 组件已内置集成到 dataTable 及其自己的事件和侦听器,用于编辑单个现有行。 rowEditor 组件的取消按钮具有切换 Primefaces 列组件的输出和输入方面的唯一功能。
如果您擅长 jQuery,您可以通过取消按钮类 jQuery('.ui-icon-close') 找到 DOM 元素并分配自定义 javascript 事件侦听器来破解该功能,但这在 dataTable 中可能会出现问题多行,如果选择取消,听起来好像您想删除一个空白行。
更好的方法是创建一个添加新按钮,该按钮显示一个带有表单的对话框。通过对话框中的表单提交可以将必要的行添加到您的数据表中。
【讨论】: