【发布时间】:2017-03-28 06:33:51
【问题描述】:
我的应用程序中有一个包含动态数据的表,
这是我尝试打印表格的方式,
我的控制器
$scope.printDiv = function (printable) {
var printContents = document.getElementById(printable).innerHTML;
var popupWin = window.open('', '_blank', 'width=300,height=300');
popupWin.document.open();
popupWin.document.write(printContents);
popupWin.document.close();
}
我的桌子
<table class="table table-bordered" id="printable">
<thead>
<tr class="bg-primary">
<th>Task Name</th>
<th>Start Date</th>
<th>End Date</th>
<th>Started BY</th>
<th>Priority</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="d in dataintbl | orderBy:sortType:sortReverse | filter:searchFish" ng-class="{'changecolor':(d.IsCompleted=='True')}">
<td><a href="#" style="cursor:pointer;" ng-click="showdetails(d)" data-toggle="modal" data-target="#myModalc">{{d.taskname}}</a></td>
<td>{{d.taskstartdate}}</td>
<td>{{d.taskenddate}}</td>
<td>{{d.startedby}}</td>
<td ng-class="{'greenrow': (d.taskpriority == 'Low'), 'yellowrow': (d.taskpriority == 'Medium'), 'redrow': (d.taskpriority == 'High')}">{{d.taskpriority}}</td>
<td>
<span ng-class="{'hidespan':(d.IsCompleted=='False')}">Completed</span>
<div ng-class="{'hidebutton':(d.IsCompleted=='True')}">
<a href="#" ng-click="updatetask(d)" data-toggle="modal" title="EDIT TASK" data-target="#myModalb" class="btn btn-warning glyphicon glyphicon-edit"></a>
<a href="#" ng-click="deleteuser(d)" title="DELETE TASK" class="btn btn-danger glyphicon glyphicon-trash"></a>
<a href="#" ng-click="taskcompleted(d)" title="COMPLETE TASK" class="btn btn-success glyphicon glyphicon-ok"></a>
</div>
</td>
</tr>
</tbody>
</table>
但问题是这没有正确打印我的表格,并且无法为 div 提供正确的样式
我已经为此创建了一个 jsfiddle,请在这里帮助我
我的主要问题是(这看起来不像表格,我的隐藏字段也在打印,我使用 ng-class 的字段,也显示虚假数据)
请帮帮我,
【问题讨论】:
-
我猜 angular 在那个窗口中不可用,而不是
innerHTML使用outerHTML -
但是ng-class还是有问题
标签: javascript html css angularjs printing