2015-11-06 65 views
1

我正在使用ui-grid来显示数据的列表和显示的网格我试图扩大一些取决于数据的行。如何使Angular UI网格根据数据最初扩展行?

我试图做到这一点在onRegisterApi事件:

scope.GridOptions = { 
    data: properties, 
    columnDefs: 
    [ 
     { name: "Full Address", field: "FullAddress" }, 
     { name: "Suburb", field: "Suburb" }, 
     { name: "Property Type", field: "PropertyType" }, 
     { name: "Price", field: "Price", cellFilter: 'currency'}, 
     { name: "Status", field: "Status" }, 
     { name: "Sale Type", field: "SaleType" }, 
     { name: "Date Created", field: "CreateDate", cellFilter: "date:'dd/MM/yyyy HH:mma'"} 
    ], 
    expandableRowTemplate: 'template.html', 
    expandableRowHeight: 200, 
    onRegisterApi: (gridApi) => 
    { 
     gridApi.expandable.expandAllRows(); 
    } 
}; 

问题是gridApi.expandable.expandAllRows()扩展所有分组的部分。我看到有一个expandRow函数,但我不确定如何使用它来代替expandAllRows函数。我真的想扩大列Status设置为特定值的组。有人能帮我解决这个问题吗?

回答

6

这是一种处理选择行扩展的方法。我创建了plucker链接(http://plnkr.co/edit/CSaROQqKxYnkoxm2Tl6b?p=preview),我正在扩展所有偶数行。以类似的方式,您可以迭代数组并扩展所需的行。

包括:
控制器

$timeout” 相关性要扩大第一行:

$timeout(function() { 
    var rows = $scope.gridApi.grid.rows; 
    var entity = (rows.length && rows[0]) ? rows[0].entity : null; 
    $scope.gridApi.expandable.toggleRowExpansion(entity); 
    }); 
+1

很好的回答。它帮助我找出需要在代码中进入的位置,但它不检查每行的现有数据值。你可以更新你的答案,包括这个?另外,为什么使用'$ timeout'函数? – Eric

+0

您的现有价值是什么意思?我将它们理解为在呈现表格时数组中的值。 – SaiGiridhar

+0

是的,那正是我正在寻找的。您的示例使用索引,并且没有来自模型的数据 – Eric

0

可能是我迟到了回答。 但它可能会帮助他人。

我也采取了同样的plunker例如作为SaiGiridhar发布,但修改

$timeout(function() { 
    var rows = $scope.gridApi.grid.rows; 
    for(var i=0; i < rows.length; i++){ 
     if(i%2 === 0){ 
     var entity = (rows.length && rows[i]) ? rows[i].entity : null; 
     $scope.gridApi.expandable.toggleRowExpansion(entity); 
     } 
    } 
}); 

$scope.$$postDigest(function() { 
    var rows = $scope.gridApi.grid.rows; 
    for(var i=0; i < rows.length; i++){ 
     if(i%2 === 0){ 
     var entity = (rows.length && rows[i]) ? rows[i].entity : null; 
     $scope.gridApi.expandable.toggleRowExpansion(entity); 
     } 
    } 
}); 
+0

使用'$$ postDigest'有什么好处? – Eric