Angularjs 如何在html页面中使用ng repeat动态创建多个ui网格?
我在html页面中使用了一个ng重复循环,如下所示Angularjs 如何在html页面中使用ng repeat动态创建多个ui网格?,angularjs,angular-ui-grid,Angularjs,Angular Ui Grid,我在html页面中使用了一个ng重复循环,如下所示 <li class="list-group-item" ng-repeat="obj in Students"> <div class="grid" id="{{'grid'+$index}}" ui-grid="{{'griddata'+$index}}" ui-grid-selection ui-grid-pagination> </div> </li>
<li class="list-group-item" ng-repeat="obj in Students">
<div class="grid" id="{{'grid'+$index}}" ui-grid="{{'griddata'+$index}}"
ui-grid-selection ui-grid-pagination>
</div>
</li>
这是我动态创建ui网格的脚本
$scope.CreateGrids = function () {
debugger;
for (var count = 0; count < $scope.StudentList.length; count++) {
var studentData = "griddata"+count;
$scope[studentData] = [];
// defining the grid control
$scope[studentData] = {
enableRowSelection: false,
//grid pagination
paginationPageSizes: [10, 25, 50, 75],
paginationPageSize: 10,
enableSorting: true,
//enabling filtering
enableFiltering: false,
multiSelect: false,
//column definations
columnDefs: [
{ name: 'SubjectID', displayName: 'SubjectID', visible: false },
{ name: 'SubjectName', displayName: 'Subject Name' },
{ name: 'MarksObtained', displayName: 'Marks' },
]
};
$scope[studentData].data = $scope.StudentList[count].Student;
}
};
$scope.CreateGrids=函数(){
调试器;
对于(var count=0;count<$scope.StudentList.length;count++){
var studentData=“griddata”+计数;
$scope[studentData]=[];
//定义网格控件
$scope[studentData]={
enableRowSelection:false,
//网格分页
分页页面大小:[10,25,50,75],
分页页面大小:10,
enableSorting:true,
//启用筛选
启用筛选:false,
多选:错,
//列定义
columnDefs:[
{name:'SubjectID',displayName:'SubjectID',visible:false},
{name:'SubjectName',displayName:'Subject name'},
{name:'marksobatined',displayName:'Marks'},
]
};
$scope[studentData]。数据=$scope.StudentList[count]。学生;
}
};
但是经过这么多的尝试,我无法创建网格。
我怎样才能做到呢?
提前感谢。这是解决方案,请检查 HTML代码
<li class="list-group-item" ng-repeat="obj in data">
<div class="grid" id="{{'grid'+$index}}" ui-grid="{data:data['griddata'+$index].columnDefs}"
ui-grid-selection ui-grid-pagination>
</div>
</li>
</
$scope.StudentList = [1, 2, 3, 4, 5];
$scope.data = {};
$scope.CreateGrids = function() {
for (var count = 0; count < $scope.StudentList.length; count++) {
var studentData = "griddata" + count;
$scope.data[studentData] = [];
// defining the grid control
$scope.data[studentData] = {
enableRowSelection: false,
//grid pagination
paginationPageSizes: [10, 25, 50, 75],
paginationPageSize: 10,
enableSorting: true,
//enabling filtering
enableFiltering: false,
multiSelect: false,
//column definations
columnDefs: [{
name: 'SubjectID',
displayName: 'SubjectID',
visible: false
}, {
name: 'SubjectName',
displayName: 'Subject Name'
}, {
name: 'MarksObtained',
displayName: 'Marks'
}, ]
};
$scope.data[studentData].data = $scope.StudentList[count].Student;
}
};
$scope.CreateGrids();
谢谢Jayant。。我试试这个。