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

时间:2016-06-30 12:33:54

标签: qooxdoo

我有qx.data.Array变量的对象。如何将Array连接到表? 我想我需要在下面的代码中进行映射。表中的行是空的,但它们的计数是正确的。

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);

谢谢,  卡罗尔

2 个答案:

答案 0 :(得分:1)

从查看您的数据模型:

map array
你有一个对象/地图数组。 在这种情况下,您可以使用 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]))应该有效

答案 1 :(得分:1)

qx.ui.table.Table本身不处理绑定,因此您无法将模型(存储)绑定到表,并且在表内进行的更改会反映到存储中,而无需手动同步。

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