单列中的滑块显示对象而不是行

时间:2014-06-13 15:49:06

标签: row pivot slickgrid

我试图弄清楚如何使用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

1 个答案:

答案 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;
}