Angularjs 如何在html页面中使用ng repeat动态创建多个ui网格?

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>

我在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>
  • 这是我动态创建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。。我试试这个。