0

我正在尝试了解 Qooxdoo。

因此,使用“VBox”布局的窗口正在工作,工具栏也在工作,但表格组件工作错误。

qx.Class.define("tiny.MainWindow",
{
extend : qx.ui.window.Window,

construct : function()
{
  this.base(arguments, "tiny")
  this.setContentPadding(0);

  this.setWidth(400);
  this.setHeight(300);

  var layout = new qx.ui.layout.VBox();
  this.setLayout(layout);
  this.setShowMinimize(false);
  this.setAllowClose(false);
  this.setContentPadding(0);
  this.open();

  // toolbar and buttons is hidden
  // because only table works wrong

  var tableModel = new qx.ui.table.model.Simple();
  tableModel.setColumns(["ID"]);
  tableModel.setData([[0],[1],[2],[3]]);

  var table = new qx.ui.table.Table(tableModel);
  this.add(table, {row: 1, column: 0, colSpan: 10});

  this.add(table, {flex: 1});
}
});

var tiny_window = new tiny.MainWindow();
tiny_window.open();  
tiny_window.moveTo(100, 100);

我得到了这个输出:“VBox 布局不支持属性‘行’!”

表格显示正确,但垂直调整大小不会改变表格垂直大小。

那么,表格组件、工具栏必须使用哪些布局类型?

PS:我已经尝试过“Dock”布局。在这里,错误类似:“Dock 布局不支持属性 'row'!:值 'row' 必须具有数组 'flex,edge,height,width' 中定义的任何值”。也许我需要其他方式来定义表格大小?

4

1 回答 1

2

下线

this.add(table, {row: 1, column: 0, colSpan: 10});

它仅对网格布局有效

在您的情况下,窗口中只有一项的最佳布局可能是

qx.ui.layout.Grow()
于 2011-08-28T18:51:17.523 回答