jsf-2 - 对话框内的数据表导致宽度错误

标签 jsf-2 primefaces datatable dialog modal-dialog

我想展示一个 p:dataTable模态内 p:dialog (需要删除的条目)。
当我执行类似于附加示例的操作时,对话框显示为 100% 宽度。我怎样才能避免这种情况?无 p:datatable ,对话框根据其内容呈现。

最小的例子:

<p:dialog header="Example" widgetVar="exampleDlg" closable="true" 
          resizable="false" appendTo="@(body)" modal="true">
    <h:form id="exampleForm">
        <p:dataTable emptyMessage="Even an empty DataTale">
        </p:dataTable>
    </h:form>
</p:dialog>

我在 Primefaces 5.1 Snapshot 上,但在 5.0 上是一样的。我尝试了 afterdark、bootstrap 和默认主题,但总是出现同样的问题。

最佳答案

您可能将该数据表的样式设置为一些可缩放/百分比宽度,例如 width: 100%;所以对话框占用了所有空间,以便相应地表示数据表的宽度。所以你有两个选择来修复它:

给对话框一个宽度:

<p:dialog header="Example" widgetVar="exampleDlg" closable="true" 
                      resizable="false" appendTo="@(body)" modal="true" width="50%">


<p:dialog header="Example" widgetVar="exampleDlg" closable="true" 
                      resizable="false" appendTo="@(body)" modal="true" width="400">

或者给数据表一个固定的宽度:
<p:dataTable emptyMessage="Even an empty DataTale" style="width: 300px;">

关于jsf-2 - 对话框内的数据表导致宽度错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26398956/

相关文章:

jsf - 命令按钮在第二次按下时调用操作 (jsf)

jsf - 加载表内容时隐藏 Primefaces 数据表 'No Records Found'

JSF2 Action 参数

java - JSF2 URL GET 参数

jsf - RowEditEvent 不发送新值primefaces

javascript - PrimeFaces 在页面更改事件中获取当前页码

jsf-2 - 重置PrimeFaces DataTable状态(过滤器,排序,分页)

sql - 延迟加载的 primefaces 数据表在 SQL 语句完成执行之前得到更新

java - 在 primefaces 数据表中选择行

javascript - Jquery Datatables 在 json 表中添加新行