我的传入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的大小,因为它可能会返回数千行。
答案 0 :(得分:0)
你可以尝试这样的事情:
<div ui-grid="{
data:(ngModel.Contracts ? ngModel.Contracts : []),
columnDefs: $parent.GridOptions.ContractGrid }">
</div>