【问题标题】:Qooxdoo Set Column Width to Fill TableQooxdoo 设置列宽以填充表格
【发布时间】:2018-01-17 21:54:17
【问题描述】:

我有一个 3 列的表格,左边 2 列是固定宽度的。我正在尝试让第三列填满整个剩余的表格。

我试过了:

logTable.getTableColumnModel().set(2, {flex: 1});

但这对列宽没有任何影响。

提前致谢!

【问题讨论】:

标签: qooxdoo


【解决方案1】:

默认的表列模型不允许这样做,但调整大小表列模型 `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*");

享受吧。

德雷尔

【讨论】:

  • 这非常有效。你能评论“1*”中的整个*吗?这是该列应填充剩余空间的指示符吗?
  • Resize 列模型使用behavior 来描述要做什么。行为的属性之一是列的width,它可以是固定宽度的数字、包含百分比的字符串,例如“25%”,也可以是后跟星号的数字,例如, "1*", 代表 flex 值。 (这比现在 qooxdoo 其他地方使用的当前 flex 系统早。)参见 qooxdoo.org/5.0.2/api/…,尤其是 setWidth 方法的 width 参数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-30
  • 2021-03-29
  • 1970-01-01
  • 2011-09-05
  • 2012-11-30
  • 2011-07-27
相关资源
最近更新 更多