如何在ngGrid中从不同的数组中分配表列标题?

时间:2014-11-27 10:57:20

标签: angularjs json ng-grid

我的传入JSON分为“标题”和“行”。 E.g:

{ 
    "headers": 
        ["id","timestamp from","blah1","blah2"],
    "rows":  
        [["69517737","1416932540011285849","104220.00","170968251000.000:A000"],
        ["69517738","1416932540012427614","119375.00","170968251001.000:A001"]] 
}

我想知道如何在设置gridOptions时将标头应用于columnDefs ......

我的部分代码大致如下:

$scope.tableHeaders = res.headers;
$scope.tableData = res.rows;
//then...
$scope.gridOptions = { 
    data: 'tableData'//, columnDefs: 'tableHeaders'
};

行加载正常,但是如果我取消注释columnDefs,它就不起作用。我甚至尝试直接添加$ scope.tableHeaders作为columnDefs。知道是否可以从上面的基本数组中添加columnDef,或者我是否必须先将标题数据操作到对象中?文档中的示例显示了包含对象的数组。如果看起来需要列标题引用开头,我不知道如何操作标题数组:{field:'name',displayName:'Name'}。也许还有另外一种方式......我会继续挖掘,但会对此事有任何想法...

BTW我无法改变JSON的格式。我认为将标题与行分开的想法是减少JSON的大小,因为它可能会返回数千行。

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事情:

<div ui-grid="{ data:(ngModel.Contracts ? ngModel.Contracts : []), columnDefs: $parent.GridOptions.ContractGrid }"> </div>