我试图弄清楚如何使用slickgrid在一列中显示我的对象而不是在一行中。以下是一个例子。想法?
网格数据看起来像这样
[{ fname: 'john', lname:'doe'}, {fname:'kyle', lname:'noobie'}]
这是我用slickgrid(行对象视图)
得到的desc | fname | lanme
option1 | john | doe
option2 | kyle | noobie
这就是我想要的(列对象视图)
desc | option1 | option2
fname | john | kyle
lname | doe | noobie
答案 0 :(得分:0)
所以我想出来了,它并不漂亮。基本上我必须将数据转换为新的行对象,然后将其取消以将其保存。它不是那么漂亮,但它完成了工作。现在你必须创建一个编辑器和格式化器并将其应用于每一列。编辑器/格式化程序查看字段名称并执行switch语句以确定它应该是什么样子。玩得开心。我做到了。 :)
function getPivotedRows(origData) {
//this is a mapping between the column headings and the properties
var properties = [{ 'First Name': 'fname' }, { 'Last Name': 'lname' }];
//this holds my pivoted rows
var rows = [];
for (var i = 0; i < properties.length; i++) {
var row = {};
for (var j = 0; j < origData.length; j++) {
var key = "";
for (var p in properties[i]) {
row['Description'] = p; //set the column
key = properties[i][p];
}
row['options' + (j + 1)] = origData[j][key];
}
row[gridOptions.uniqueKey] = i;
rows.push(row);
}
return rows;
}