我有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);
谢谢, 卡罗尔
答案 0 :(得分:1)
从查看您的数据模型:
你有一个对象/地图数组。
在这种情况下,您可以使用
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接口)非常简单,您可以创建自定义表模型,然后您可以将商店绑定到自定义模型的模型,该模型在表格单元格之间具有双向绑定和商店模型。