如何通过 qx.ui.table.Table 控制 qx.data.Array

How to control qx.data.Array via qx.ui.table.Table

我有 qx.data.Array 个对象的变量组合。如何将数组连接到 table ? 我想我需要在下面的代码中进行映射。 table 中的行为空,但行数正确。

var rowData = theStore.getModel();  //it is qx.data.Array type
var tableModel = new qx.ui.table.model.Simple();
tableModel.setData(rowData);
var table = new qx.ui.table.Table(tableModel);

谢谢, 卡罗尔

通过查看您的数据模型:


你有一个 objects/map 的数组。 在这种情况下,您可以使用 tableModel.setDataAsMapArray(rowData) http://demo.qooxdoo.org/current/apiviewer/#qx.ui.table.model.Simple~setDataAsMapArray
而不是 tableModel.setData(rowData).

但是,您必须先设置模型的列id,qooxdoo才能建立从数据到列的映射。 例如 tableModel.setColumns(Object.keys(rowData[0])) 应该有效

qx.ui.table.Table 本身不处理绑定,因此您不能将您的模型(商店)绑定到 table 并且在 table 内所做的更改会反映到商店中,而无需手动正在同步。

创建你自己的table模型(实现qx.ui.table.ITableModel接口)很简单,你可以创建一个自定义table模型,然后你可以将你的商店绑定到模型您的自定义模型在 table 单元格和商店模型之间具有双向绑定。