如果我有列(名稱,數量),我該如何最好地創建顯示(「總計」,8877)的行/頁腳?顯然你可以通過向數據添加一行來完成,但是這會破壞排序功能。它看起來比較容易按名稱分組,並顯示每個名稱的數量,但我還沒有找到如何做更簡單的情況(雖然我發現其他人問 - 例如https://github.com/angular-ui/ng-grid/issues/679)在ng-grid中做列總數的最佳方法是什麼?
4
A
回答
0
很可能不是最好的解決方案,但我最終在頁腳的頂部添加了總計行。 https://github.com/mchapman/forms-angular/commit/9f02ba1cdafe050f5cb5e7bb7d26325b08c85ad2
0
無需修改網格,您可以提供自己的頁腳模板,以某種方式獲取每列的總數。 在我的情況下,當我從服務器數據「建立」表格時,我也積累了總計散列值。
我的模板看起來是這樣的:
total_cell_footer = """
<div ng-show="showFooter" class="ngFooterPanel" ng-class="{'ui-widget-content': jqueryUITheme, 'ui-corner-bottom': jqueryUITheme}" ng-style="footerStyle()">
<div class="ngTotalSelectContainer" >
<div ng-style="{ 'cursor': row.cursor }" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell {{col.cellClass}}">
<span class="ngCellText">{{ get_total(col) | currency:"$"}} </span>
<div class="ngVerticalBar" ng-style="{height: rowHeight}" ng-class="{ ngVerticalBarVisible: !$last }"> </div>
</div>
</div>
</div>
"""
的get_total功能在我的範圍定義(這是ngGrid範圍的母公司,因此繼承),具體如下:
$scope.get_total= (col) ->
# used by the footer template to access column totals.
$scope.totals[col.field]
-1
取看一下「服務器端分頁」示例,它正是你想要的!你可以根據你需要切片和切塊。
http://angular-ui.github.io/ng-grid/
在網格選項把
enablePaging: true,
showFooter: true,
showFilter: true,
totalServerItems: 'totalServerItems',
pagingOptions: $scope.pagingOptions,
和向上頂
$scope.pagingOptions = {
pageSizes: [100, 500, 1000],
pageSize: 100,
totalServerItems: 0,
currentPage: 1
};
$scope.setPagingData = function (data, page, pageSize) {
var pagedData = data.slice((page - 1) * pageSize, page * pageSize);
$scope.myData = pagedData;
**$scope.pagingOptions.totalServerItems = data.length**;
if (!$scope.$$phase) {
$scope.$apply();
}
};
+0
它要求在頁腳中總共有列,而不是總行大小 –
3
可以包括在gridOptions自定義頁腳模板。我在源代碼中查找了頁腳的默認格式並複製了它,但添加了計算總計的函數。類似這樣的:
$scope.gridOptions = {
data: 'hereGoesTheData',
columnDefs : [list of your column names],
showFooter: true,
footerTemplate:
'<div ng-show="showFooter" class="ngFooterPanel" ng-class="{\'ui-widget-content\': jqueryUITheme, \'ui-corner-bottom\': jqueryUITheme}" ' +
'ng-style="footerStyle()"><div ng-style="{ \'cursor\': row.cursor }" ng-repeat="col in renderedColumns" ng-class="col.colIndex()" class="ngCell {{col.cellClass}} " ng-cell style="text-align:right;">' +
'{{getTotal(col.field)}}</div></div>'
};
然後定義$ scope.getTotal來做你想做的任何事情。
相關問題
- 1. 最佳做法是什麼?
- 2. 在SCSS中做精靈的最佳方法是什麼?
- 3. 在MySql中彙總數據的最佳方式是什麼?
- 4. log4cxx的最佳做法是什麼?
- 5. 什麼是ViewModel的最佳做法
- 6. 總結區間數據的最佳方法是什麼?
- 7. 在.NET中加密數據的最佳做法是什麼?
- 8. 在JSP中驗證參數的最佳做法是什麼?
- 9. 在java中每個鍵的計數最佳做法是什麼
- 10. 在JavaScript中構造函數的最佳做法是什麼?
- 11. 在JSP中呈現JSON數據的最佳做法是什麼?
- 12. 在Swift中迭代AnyObject數組的最佳做法是什麼?
- 13. HMAC解決方案中密鑰的使用(最佳/最佳做法)是什麼?
- 14. 什麼應該是關鍵在散列表的最佳做法
- 15. Nginx和runit ....什麼是最佳做法
- 16. WCF休息 - 最佳做法是什麼?
- 17. ASP.NET緩存,什麼是最佳做法
- 18. 處理重複方法調用的最佳做法是什麼?
- 19. 推斷方法的最佳做法是什麼?
- 20. 有關const實例方法的最佳做法是什麼?
- 21. 在Java中確定文件的總字數的最佳方法是什麼?
- 22. 在Java中使用序列化的最佳方法是什麼?
- 23. 在Python中移動列表的最佳方法是什麼?
- 24. 在SQLite中做數據透視表的最佳方法是什麼?
- 25. 什麼是使用codeigniter的SUM列值的最佳做法
- 26. 在C#中做事情的最佳方式是什麼?
- 27. 什麼是在oracle中做條件選擇的最佳方式
- 28. 什麼是在JavaScript中做到這一點的最佳方式?
- 29. 什麼是在C#中的文件處理的最佳做法?
- 30. 緩存第三方API調用的最佳做法是什麼?
你爲什麼不接受解決方案? – Sampath