我正在使用angularjs填充如下表:
<table>
<thead>
<tr>
<th>col1</th>
<th>col2</th>
<th>col3</th>
<th>col4</th>
<th>col5</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in rows">
<td>{{row.col1}}</td>
<td>{{row.col2}}</td>
<td>{{row.col3}}</td>
<td>{{row.col4}}</td>
<td>{{row.col5}}</td>
</tr>
</tbody>
</table>
因为表中有很多列通常不包含任何值(NULL),所以我想隐藏这些列 注意:所有行的列值都为NULL。
示例(row.col1=NULL
,row.col3=NULL
):
<table>
<thead>
<tr>
<th>col2</th>
<th>col4</th>
<th>col5</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="row in rows">
<td>{{row.col2}}</td>
<td>{{row.col4}}</td>
<td>{{row.col5}}</td>
</tr>
</tbody>
</table>
到目前为止,我无法找到/找出解决方案。
我开始相信这是不可能的......
答案 0 :(得分:1)
你可以为一个全局数组,为你想要的每一列都有一个布尔变量,并相应地设置这个布尔值。
SET NOCOUNT ON;
SELECT FirstName
FROM dbo.Users WHERE Id = @Id;
使用函数显示列值,以便在遇到非空值时设置布尔值。
$scope.showColumn = [false, false, false, false];
然后您必须检查布尔值以显示并使用函数作为列值:
$scope.setVisible = function(colNum, colVal){
if(colVal)
$scope.showColumn[ colNum ] =true;
return colVal;
};
请参阅Working plunk(尝试向任何朋友提供“没有”属性)
答案 1 :(得分:0)
这在ng-repeat中非常容易。只需使用ng-if。
<table>
<thead>
<tr>
<th>col2</th>
<th>col4</th>
<th>col5</th>
</tr>
</thead>
<tbody>
// ADD NG-IF TO YOUR REPEATER
<tr ng-repeat="row in rows" ng-if="row.col1 != null">
<td>{{row.col2}}</td>
<td>{{row.col4}}</td>
<td>{{row.col5}}</td>
</tr>
</tbody>
</table>