我正在嘗試使用ng-tables從一組數據創建表。數據可能每次都不一樣。例如,我有這些數據:如何在Angular中創建具有可變數量的列和動態標題的表格? pref using ng-tables
var data = [
{name: "St.Gabriels", MeaslesCR: 50, ANC: 30, OPD: 20, SCORE: 100},
{name: "N'Lale", MeaslesCR: 52, ANC: 33, OPD: 20, SCORE: 90},
{name: "Centrum Hospital", MeaslesCR: 20, ANC: 70, OPD: 30, SCORE: 80},
{name: "Something Hospital", MeaslesCR: 20, ANC: 50, OPD: 30, SCORE: 70},
{name: "Wohoo Clinic", MeaslesCR: 50, ANC: 30, OPD: 40, SCORE: 60}];
但我可能例如,沒有包含MeaslesCR。
那麼,如何創建一個表,而無需手動創建所有列與他們各自的標題?
我想是這樣的:
var indicators = [];
//Getting indicator names
angular.forEach(data[0], function(value, key){
indicators.push(key);
});
$scope.getTitle = function(i){
return indicators[i];
}
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 10 // count per page
}, {
total: data.length, // length of data
getData: function($defer, params) {
// use build-in angular filter
var orderedData = params.sorting() ?
$filter('orderBy')(data, params.orderBy()) :
data;
$defer.resolve(orderedData.slice((params.page() - 1) * params.count(), params.page() * params.count()));
}
});
和
<table ng-table="tableParams" class="table">
<tr ng-repeat="user in $data">
<td data-title="getTitle($index)" sortable="Name">
{{user.name}} // pref user.getTitle($index)
</td>
</tr>
</table>
的HTML代碼顯然只寫一個小區,但我可以把它寫出來的細胞「$ data.length」量不知何故(這種情況下5)?
使用getTitle($ index)或其他更好的替代動態標題?
然後用它們各自的user.varValue(user.name,user.MeaslesCR ect)填充這些列?
如果我的問題有點混亂,我很抱歉,因爲我覺得自己有點困惑。
非常感謝。
非常感謝。認爲我實際需要的唯一部分是在'未排序(cols)「中的
做一些測試,以確保頭列的順序並不總是匹配數據列的順序,這就是爲什麼我必須使用它。 – 2015-02-09 03:14:15
請注意,使用Object.keys時不能保證排序。 HTTP://計算器。com/questions/5525795/does-javascript-guarantee-object-property-order – 2015-02-09 03:19:35
相關問題