JQuery UI对话框中的Tabulator表打开折叠

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (37)

放置在JQuery UI对话框中的Tabulator表打开折叠(没有可见的行)。单击列标题后,表将展开。我错过了一个设置吗?

这是针对ASP.Net Web应用程序,该表在对话框中定义为。

下面的CustomerDataSet是一个JSON对象数组。单击表标题后,表格打开时,数据映射似乎工作正常。

var patTable = new Tabulator("#ptlist-table", {
        selectable: 1,
        data: CustomerDataSet, 
        columns: [
            { title: "Name", field: "name" },
            { title: "Customer ID", field: "id" },
            { title: "Location", field: "location" },
            { title: "Detail", field: "detail" },
            { title: "Order date/time", field: "timestamp" },
        ],
    });

$("#dialog-id").dialog("open");  // The table shows inside the dialog.

我希望桌子在对话框打开时完整显示。相反,表格显示折叠,直到我点击列标题。

提问于
用户回答回答于

当对话框打开时,我可以通过以编程方式单击表的列标题来解决它:

myDialog = $(“#dialog-id”)。dialog({... ... open:function(){$(“#ptlist-table”)。find(“。tabulator-col”)。first() .click();},...

用户回答回答于

如果您初始化Tabulator的元素最初是隐藏的,则必须patTable.redraw(true)在显示后调用。这是因为当隐藏元素时,JavaScript会为宽度和高度返回0。

因此,当Tabulator初始化时,它对其内部元素的宽度和高度所做的所有计算都将是不正确的,并且表将不会按预期呈现。如果你想研究它,还有许多其他的JS解决方案,但我建议只要求Tabulator重绘/重新渲染自己。

扫码关注云+社区

领取腾讯云代金券