如何使Bootsfaces数据表显示行选择对话框

时间:2016-09-29 09:10:38

标签: jsf bootsfaces

目前正在开发一个使用Bootsfaces的项目。我有一个bootsfaces数据表,我需要在行选择时打开一个对话框。请告知如何继续。

以下是代码

    <b:dataTable onclick="$('viewBKDDialog').show()" 
                                 update=":ViewBKDForm" 
                                 value="#{bookingAdminController.itemsBookDet}" 
                                 var="car" ajax="true" select="true" responsive="true"  >
</b:dataTable>

我正在使用

<ui:include src="ViewBookingDetails_all.xhtml"/>

作为对话框。

1 个答案:

答案 0 :(得分:1)

目前,我没有完整的解决方案,但让我们分析您的代码。这很有趣。

首先,您要根据所选行打开模式对话框。 (实际上,“模态对话框”位是一个有根据的猜测)。但是,您将onclick处理程序添加到整个表中。 JSF不会使行显式,因此您必须将onclick处理程序添加到表的单元格中。为简单起见,我们假设您已将onclick处理程序分配给表中的按钮。

其次,每个BootsFaces版本&lt; = 0.9.1都有一个错误,阻止您检测选择了哪一行。所以你必须使用版本&gt; = 0.9.2。在撰写本文时,这是开发人员快照BootsFaces-0.9.2-SNAPSHOT。请参阅我最近解决的issue 369 on how to get itissue 486 on the row-select bug

第三,您应该记住,onclick处理程序的JavaScript代码是在AJAX请求之前执行的。我只能猜测,但我假设你想根据行选择更新模态对话框的内容。我还假设内容是由AJAX请求定义的。如果两个假设都是真的,那么你就遇到了问题。 {AJ}调用之前执行onclick处理程序。因此,我建议您使用某些BootsFaces组件提供的oncomplete JavaScript回调处理程序,例如b:commandButton

就像我之前说过的那样,这不是一个完整的解决方案,但我希望它有所帮助。