如何使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"/>

目前,我没有完整的解决方案,但是让我们分析一下您的代码。真有意思。

首先,您希望基于所选行打开一个模态对话框。(实际上,"模态对话框"是一个有根据的猜测)。但是,您将onclick处理程序添加到整个表中。JSF没有显式显示行,因此必须向表的单元格添加onclick处理程序。为了简单起见,让我们假设您已经将onclick处理程序分配给表中的一个按钮。

第二,在每个BootsFaces版本<= 0.9.1中都有一个错误,它阻止您检测哪一行已被选中。所以你必须使用>= 0.9.2的版本。在撰写本文时,这是开发人员快照BootsFaces-0.9.2-SNAPSHOT。关于如何获得它,请参阅问题369,关于我最近解决的行选择错误,请参阅问题486。

第三,您应该记住onclick处理程序的JavaScript代码在AJAX请求之前执行。我只能猜测,但我假设您希望根据行选择更新模态对话框的内容。我还假设内容是由AJAX请求定义的。如果两个假设都成立,你就有问题了。onclick处理程序在AJAX调用之前执行。所以我建议你使用一些BootsFaces组件提供的oncomplete JavaScript回调处理程序,如b:commandButton

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

最新更新