2016-03-22 24 views
1

Izgaralar verisindeki Angular ng-Repeat ve serach seçeneklerinde kendo-grid'leri var. Aramadaki ızgaraları yenilemek istiyorum.Köşeli yineleme ile KendoGrid

Bu benim kodumdur ve ızgaraları yenilemez ($("#kendoGrid1").data("kendoGrid") tanımsız), bunun için düzeltme nedir?

html

<article ng-repeat="(key,val) in gridsResult" > 
    <h2 class="tableTitle">{{key}}</h2> 
    <div kendo-grid="kendoGrid{{$index}}" k-options="getGridSlice('{{key}}')"></div> 
</article> 

js

$scope.getGridSlice = function (index) { 
     var data = $scope.gridsResult[index]; 
     return { 
      dataSource: { 
       data: data 

       } 
      }, 
      columns: [ 
         { field: "aa", title: " ", attributes: { "class": "k-header",style:"text-align:center;" }, width:"33px" }, 
         { field: "bb", title: "IF", template: rowTemplate.replace(/XX/g, 'IF')} 

      ], 
      scrollable: false, 
      noRecords: true, 

     }}; 

scope.onSearch fonksiyonu - Ayrıca ızgara yenilemeniz gerektiğini

$("#kendoGrid1").data("kendoGrid").datasource.read(); 

cevap

1

Cevabı buldum!

$ özet değeri işlevler üzerinde çalışmadığı için, kapsam işlevini değil, kapsam parametrelerini temel alarak k-veri kaynağı ekledim.

$scope.gridOptions = { 

      columns: [ 
         { field: "aa", title: " ", attributes: { "class": "k-header",style:"text-align:center;" }, width:"33px" }, 
        { field: "bb", title: "IF", template: rowTemplate.replace(/XX/g, 'IF')} 
      ], 
      scrollable: false, 
      noRecords: true, 


    }; 
+0

Ayrıca k-rebind = "griddsResult" eklemeniz de çok önemlidir! – Nomi

0

:

Bunun için jQuery kullanmak gerekmez (ve ayrıca, sen DOM öğesindeki bir id ayarı değiliz, bu yüzden $("#kendoGrid1") asla kodu ile çalışmak için gidiyor -
$("#kendoGrid1").data("kendoGrid").datasource.read(); 
$("#kendoGrid1").data("kendoGrid").refresh(); 
+0

$ ("# kendoGrid1"). Verileri ("kendoGrid") tanımsız

<article class="tradescreenTable" ng-repeat="(key,val) in gridsResult" ng-class="{'bestAverage': bestAverageSelected}"> <h2 class="tableTitle">{{key}}</h2> <div kendo-grid k-data-source="{{val}}" k-options="gridOptions"></div> </article> 

Ve k-seçenekleri (eğer ızgaralar kategoriye göre gruplandırılmış DB'den veri çekme) Bu yüzden işe yaramıyor – Nomi

0

$scope için ızgarayı bağlar şimdi olduğu gibi).

$scope.kendoGrid1.datasource.read(); 

Buna bir ihtar hiç bir Kendo Izgara için isim ayarı dinamik olarak denemedim yani, bu yüzden çalıştığını% 100 değilim.

+0

$ kapsam.kendoGrid1 undefined – Nomi