【发布时间】:2018-01-17 21:54:17
【问题描述】:
我有一个 3 列的表格,左边 2 列是固定宽度的。我正在尝试让第三列填满整个剩余的表格。
我试过了:
logTable.getTableColumnModel().set(2, {flex: 1});
但这对列宽没有任何影响。
提前致谢!
【问题讨论】:
-
这个演示清楚地做了你想要的:qooxdoo.org/current/demobrowser/…
标签: qooxdoo
我有一个 3 列的表格,左边 2 列是固定宽度的。我正在尝试让第三列填满整个剩余的表格。
我试过了:
logTable.getTableColumnModel().set(2, {flex: 1});
但这对列宽没有任何影响。
提前致谢!
【问题讨论】:
标签: qooxdoo
默认的表列模型不允许这样做,但调整大小表列模型 `qx.ui.table.columnmodel.Resize 可以。你可以这样做:
var table = new qx.ui.table.Table(
tableModel, // previously defined, with 3 columns
{
// We want to handle the behavior of table column resizing
tableColumnModel : function(obj)
{
return new qx.ui.table.columnmodel.Resize(obj);
}
});
// Use the Resize table column model to allow final column to consume
// remainder of space
var tcm = table.getTableColumnModel();
var resizeBehavior = tcm.getBehavior();
resizeBehavior.setWidth(0, 50);
resizeBehavior.setWidth(1, 140);
resizeBehavior.setWidth(2, "1*");
享受吧。
德雷尔
【讨论】:
behavior 来描述要做什么。行为的属性之一是列的width,它可以是固定宽度的数字、包含百分比的字符串,例如“25%”,也可以是后跟星号的数字,例如, "1*", 代表 flex 值。 (这比现在 qooxdoo 其他地方使用的当前 flex 系统早。)参见 qooxdoo.org/5.0.2/api/…,尤其是 setWidth 方法的 width 参数。