使用Escape关闭对话框后清除数据表上的选择

时间:2017-08-01 01:44:51

标签: jsf primefaces

我有一个 5: <sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 6: <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> 7: <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" /> ,内部有p:commandButton来调用p:dialog。用户应该能够选择一行或多行(保存bean内列表中的每个元素),然后单击“保存”按钮将该数据保存在数据库中。我的问题是当我从这个dataTable中选择一些行然后按下ESC键时,对话框会像它应该关闭一样,但是当我再次打开该对话框时,仍然会选择已选中但未保存的值。我知道我可以使closeOnEscape =“false”并创建一个“取消”按钮并将bean中的列表设置为null,但我想知道在用ESC关闭对话框后是否有办法“清理”该数据表。我正在使用Primefaces 4.0

我的对话框看起来像这样:

p:dataTable

1 个答案:

答案 0 :(得分:0)

您可以随时在打开对话框的按钮单击操作上使用<p:resetInput>。因此,即使按下转义按钮时对话框中选择的值也占优势,每次单击并打开对话框时,都可以清除您的选择。

ResetInput用于清除状态中的缓存值,以便组件从支持bean模型中检索其值

希望它有所帮助!