Plunker sampleCome nascondere colonna tabella se ogni valore json è nullo per qualsiasi struttura utilizzando js angolari
Come nascondere colonna tabella se ogni valore json è nullo per qualsiasi proprietà utilizzando js angolari
index.js
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.name = 'World';
$scope.isArray = angular.isArray;
$scope.data = [{
"Id": null,
"Title": "US",
"Description": "English - United States",
"Values": [{
"Id": 100,
"LanId": 1,
"KeyId": 59,
"Value": "Save"
}]
}, {
"Id": null,
"Title": "MX",
"Description": "test",
"Values": [{
"Id": 100,
"LanId": 1,
"KeyId": 59,
"Value": "Save"
}]
}, {
"Id": null,
"Title": "SE",
"Description": "Swedish - Sweden",
"Values": [{
"Id": 100,
"LanId": 1,
"KeyId": 59,
"Value": "Save"
}]
}]
$scope.cols = Object.keys($scope.data[0]);
$scope.notSorted = function(obj) {
if (!obj) {
return [];
}
return Object.keys(obj);
}
});
index.html
<table border=1 style="margin-top: 0px !important;">
<thead>
<tr>
<th ng-repeat="(k,v) in data[0]">{{k}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="item in data">
<td ng-repeat="(prop, value) in item" ng-init="isArr = isArray(value)">
<table ng-if="isArr" border=1>
<thead>
<tr>
<td>
<button ng-click="expanded = !expanded" expand>
<span ng-bind="expanded ? '-' : '+'"></span>
</button>
</td>
</tr>
<tr>
<th ng-repeat="(sh, sv) in value[0]">{{sh}}</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="sub in value" ng-show="expanded">
<td ng-repeat="(sk, sv) in sub">{{sv}}</td>
</tr>
</tbody>
</table>
<span ng-if="!isArr">{{value}}</span>
</td>
</tr>
</tbody>
</table>
questo è un duplicato completo della domanda che hai posto prima e non tenta nemmeno di incorporare la soluzione fornita già http: // StackOverflow.it/questions/31499247/how-to-fix-the-positions-of-table-elements-angular-js – charlietfl
no che era un problema di regolazione della colonna che è una colonna generata dinamicamente questa domanda ha lo stesso codice identico che è usato in precedenti domanda ma un codice statico per sapere come nascondere una colonna usando il semplice angularjs 'ng-if' – Neo
e la soluzione fornita ha fatto proprio quello che stai chiedendo in questa domanda – charlietfl