2014-12-02 72 views
2

我使用ASP.NET webmethodsKendoGrid將數據綁定到Grid。生成的列是動態的。我需要在每列上應用aggregate。請讓我知道我能做到這一點。動態列上的kendogrid集合

我不會意識到來自WebMethod的列名。所以不知道如何編寫聚合。我想一旦網格被加載,我們可以訪問它,然後定義聚合。請指導。使用谷歌搜索,但沒有得到任何幫助。

aggregate: [{field: "unknowncolumnnames", aggregate: "sum" }]

$.ajax({ 
    url: "Details.aspx/DetailsWebMethod", 
    dataType: "json", 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    success: function (data) { 
     $("#DetailsGrid").kendoGrid({ 

       dataSource: { 
        type: "json", 
        data: data.Table, 
        pageSize: 10 
       }, 
       sortable: { 
        mode: "single", 
        allowUnsort: false 
       }, 
       pageable: { 
        input: true, 
        pageSizes: true, 
        numeric: false 
       }, 

       selectable: "row", 
       filterable: true, 
       columnMenu: true, 
       navigatable: true, 
       reorderable: true, 
       resizable: true, 
       groupable: false, 
       scrollable: false 
      }); 
     } 
    }); 

回答

2
  $.ajax({ 
      url: "", 
      datatype: "JSON", 
      type: "GET", 
      success: function (result) { 
       var items = $.parseJSON(result)[0]; 
       var arrCol = []; 
       var arrAgg = []; 
       for (var index in items) 
       { 
        arrCol.push({ field: index, format: "{0:0}", footerTemplate: "#= kendo.toString(sum, '0.00') #" }); 
        arrAgg.push({ field: index, aggregate: "sum" }); 
       } 
       console.log(arrAgg); 
       if (result.Result.length > 0) { 
        var dataSource = new kendo.data.DataSource({ 
         data: $.parseJSON(result.Result), 
         group: { field: "Category" }, 
         aggregate: arrAgg 
        }); 
        $('#divgrid').html(""); 
        $("#divgrid").kendoGrid({ 
         dataSource: dataSource, 
         height: "auto", 
         scrollable: false, 
         sortable: true, 
         groupable: false, 
         columns: arrCol 
        }); 
+0

你是一個傳說 – Immortal 2016-11-01 03:38:35