AngularJS Example
HTML
<div ng-app="app">
<div ng-controller="MainController">
<select data-ng-model="numColumns.length" data-ng-options="columnValue as columnValue for columnValue in columnValues"></select>
<table border="1">
<tr data-ng-repeat="object in (objects | myFilter:numColumns.length)">
<td data-ng-repeat="column in numColumns">{{ objects[$parent.$index * numColumns.length + $index].entry }}</td>
</tr>
</table>
</div>
</div>
CSS
table td{
padding:2px 5px;
}
JavaScript
angular.module('app', [])
.filter("myFilter", function(){
return function(input, columns){
var filtered = [];
for(var x = 0; x < input.length; x+= columns){
filtered.push(input[x]);
}
return filtered;
}
});
;
function MainController($scope){
$scope.columnValues = [];
for(var x = 0; x < 10; x++){
$scope.columnValues.push(x + 1);
}
$scope.objects = [ ];
for(var x = 65; x < 91; x++){
$scope.objects.push({
entry: String.fromCharCode(x)
});
}
$scope.numColumns = [];
$scope.numColumns.length = 3;
}