我需要一个帮助。我有一个表格,我需要序列号高于base R
它将再次转移到下一列序列号将从as.data.frame(xtabs(length~timeSlt, dt))
# timeSlt Freq
#1 [0,4) 1069.452
#2 [4,8) 0.000
#3 [8,12) 0.000
#4 [12,16) 0.000
#5 [16,20) 0.000
#6 [20,24) 477.049
开始。
我正在解释下面的代码。
10
其实我需要以下格式。
11
newtable的:
<table class="table table-bordered table-striped table-hover" id="dataTable" >
<colgroup>
<col class="col-md-1 col-sm-1">
<col class="col-md-4 col-sm-4">
</colgroup>
<thead>
<tr>
<th>Sl. No</th>
<th>Generated Code</th>
</tr>
</thead>
<tbody id="detailsstockid">
<tr ng-repeat="c in listOfViewCode">
<td>{{$index+1}}</td>
<td>{{c.generated_code}}</td>
</tr>
</tbody>
</table>
在这里,我需要假设我有sl no Generated Code sl no Generated Code
1 aaa 11 ssss
2 sss 12 gggg
3 eee
4 cccc
5 tttt
6 bbbb
7 nnnn
8 nnnn
9 bbbb
10 cccc
没有数据。当序列号将越过<table class="table table-bordered table-striped table-hover" id="dataTable" ng-repeat="group in groups" style="float:left" >
<colgroup>
<col class="col-md-1 col-sm-1">
<col class="col-md-3 col-sm-3">
</colgroup>
<thead>
<tr>
<th>Sl. No</th>
<th>Generated Code</th>
</tr>
</thead>
<tbody id="detailsstockid">
<tr ng-repeat="g in group.values">
<td>{{$parent.$index * 10 + $index + 1}}</td>
<td>{{g.generated_code}}</td>
</tr>
</tbody>
</table>
时,它将转移到右侧,具有相同的两列,依此类推。我正在使用Angular.js。
请帮帮我。
答案 0 :(得分:2)
另一种解决方法,那就是适用于1-10的任意数量的列,可以做类似的事情:
var newList = [];
for(var i = 0; i<listOfViewCode.length; i++) {
var index = i+1;
var listIndex = (i%10);
var row = newList[listIndex];
if(row == null) {
row = [];
}
listOfViewCode[i].index = index;
row.push(listOfViewCode[i]);
newList[listIndex] = row;
}
然后使用ng-repeat-start进行渲染。
<tr ng-repeat="c in newList">
<td ng-repeat-start="p in c">{{p.index}}</td>
<td ng-repeat-end>{{p.generated_code}}</td>
</tr>
答案 1 :(得分:2)
好的,我能想到的最好的方法是创建多个表并使用css为它们提供一个表的外观......
以下是plunker:http://plnkr.co/edit/ZQ1NpOa96IpzSncbFSud?p=preview
在你的模板中是这样的:
<table ng-repeat="group in groups" style="float: left">
<thead>
<tr>
<th><b>Sl. No</b></th>
<th><b>Generated Code</b></th>
</tr>
</thead>
<tr ng-repeat="g in group.values">
<td>{{$parent.$index * 10 + $index + 1}}</td>
<td>{{g.value}}</td>
</tr>
</table>
然后我们需要将你的数据分解成块并将它们分配给&#34;组&#34; ...所以在控制器中我们做这样的事情:
var items = [{value: 'bbb'},{value: 'bbb'},{value: 'bbb'},{value: 'bbb'},{value: 'bbb'},{value: 'aaa'},{value: 'aaa'},{value: 'aaa'},{value: 'aaa'},{value: 'aaa'},{value: 'ccc'},{value: 'ccc'},{value: 'ccc'},{value: 'ccc'},{value: 'ccc'},{value: 'ddd'},{value: 'ddd'},{value: 'ddd'},{value: 'ddd'},{value: 'ddd'},{value: 'eee'},{value: 'eee'},{value: 'eee'},{value: 'eee'},{value: 'eee'},{value: 'fff'},{value: 'fff'},{value: 'fff'},{value: 'fff'},{value: 'fff'},{value: 'ggg'},{value: 'ggg'},{value: 'ggg'},{value: 'ggg'},{value: 'ggg'},{value: 'hhh'},{value: 'hhh'},{value: 'hhh'},{value: 'hhh'},{value: 'hhh'},{value: 'iii'},{value: 'iii'},{value: 'iii'},{value: 'iii'},{value: 'iii'}];
$scope.groups = [];
// break the data into chunks of 10
var i,j,temparray,chunk = 10;
for (i=0,j=items.length; i<j; i+=chunk) {
temparray = items.slice(i,i+chunk);
$scope.groups.push({values: temparray});
}
这将创建每个10行的表(最后一行具有剩余的行),并排(使用style =&#34; float:left&#34;)...最好我能想到。希望它有所帮助!
答案 2 :(得分:0)
我建议制作两个表格,因为它看起来像你在做什么。 因此,创建一个函数,为您提供元素1-10和一个给你10及以上的函数,然后就像你已经做的那样。
或者,如果你真的想要它们在一个表中,你可以创建一个包含每行元素数组的数组 - 所以元素在元素%10时是相同的。例如像。
var newList = [];
for(var i = 0; i<listOfViewCode; i++) {
var index = i+1;
var row = newList[i%10];
if(row == null) {
row = [];
}
row.push(listOfViewCode[i]);
newList[i%10] = row;
}
然后你只需在ng-repeat中嵌套ng-repeat并渲染它们。
更新:类似这样的
可能类似于
<tr ng-repeat="c in newList">
<td>{{$index+1}}</td>
<td>{{c[0].generated_code}}</td>
<td>{{$index+11}}</td>
<td>{{c[1].generated_code}}</td>
</tr>
答案 3 :(得分:0)
请参阅以下代码 - :
代码 - :
<div ng-controller="MyCtrl">
<table id="dataTable" style="float: left;" ng-repeat="c in [0,10,20,30,40,50,60,70,80,90]" ng-init="newlist=listOfViewCode.slice(c,c+10)">
<colgroup>
<col >
<col>
</colgroup>
<thead>
<tr>
<th>Sl. No</th>
<th>Generated Code</th>
</tr>
</thead>
<tbody id="detailsstockid">
<tr ng-repeat="c in newlist">
<td>{{$index+c}}</td>
<td>{{c}}</td>
</tr>
</tbody>
</table>
</div>
控制器代码:
var myApp = angular.module('myApp',[]);
//myApp.directive('myDirective', function() {});
//myApp.factory('myService', function() {});
function MyCtrl($scope) {
$scope.listOfViewCode=[];
for(var i=0;i<100;i++)
{
$scope.listOfViewCode[i]=i+1;
}
}
我刚刚展示了一个示例来帮助您实现您要执行的操作。希望这会有所帮助。
答案 4 :(得分:0)