放置在JQuery UI对话框中的制表器表格将折叠打开(看不到任何行)。单击列标题后,表格展开。我是不是错过了一个场景?
这是针对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.
我希望在对话框打开时,表格会完全显示出来。相反,在我单击列标题之前,表会显示为折叠。
发布于 2019-03-26 03:57:20
如果初始化制表器的元素最初是隐藏的,则必须在显示后调用patTable.redraw(true)
。这是因为当一个元素被隐藏时,JavaScript返回宽度和高度为0。
因此,当Tabulator被初始化时,它对其内部元素的宽度和高度所做的所有计算都将是不正确的,并且表不会像您期望的那样呈现。如果你想研究这种情况,还有许多其他的JS解决方案,但我建议只要求Tabulator重画/重渲染本身。
发布于 2019-03-26 03:04:15
当对话框打开时,我可以通过在表的列标题上单击来解决这个问题:
对话=$(“# myDialog -id”)对话({ ... ).dialog打开: function () { $("#ptlist-table").find(".tabulator-col").first().click();},...
https://stackoverflow.com/questions/55341622
复制相似问题