2013-03-10 75 views
0

我有劍道UI圖:KendoUI圖不消耗JSON數據源

function createkpiBreakdownChart(labelPosition) { 
    $("#kpiBreakdownChart").kendoChart({ 
     theme: $(document).data("kendoSkin") || "metro", 
     dataSource: { 
      transport: { 
       read: { 
        url: '../Test/GetData', 
        dataType: "json" 
       } 
      } 
     }, 
     schema: { 
      data: "customerSatisfactionChart" 
     }, 
     series: [{ 
      field: "KPITestColumnValue" 
     }], 
     categoryAxis: { 
      field: "KPITestColumnName" 
     }, 
     title: { 
      text: "Customer Satisfaction" 
     }, 
     legend: { 
      position: "bottom", 
      visible: false, 
     }, 
     chartArea: { 
      background: "#ffffff" 
     }, 
     seriesDefaults: { 
      type: "bar" 
     }, 
     //series: [{ 
     // name: "Performance Metrics", 
     // data: [4.552162849872774, 4.391752577319588, 4.215633423180593, 4.345108695652174, 4.4728682170542635, 4.387005649717514, 4.351351351351352] 
     //},], 
     valueAxis: { 
      minorUnit: .25, 
      majorUnit: 1, 
      min: 0, 
      max: 5, 
      plotBands: [{ 
       from: 4, 
       to: 5, 
       color: '#000000', 
       opacity: .1 
      }], 
      labels: { 
       labels: { 
        format: "N0" 
       }, 

      }, 
      tooltip: { 
       visible: true, 
       format: "N0" 
      } 
     }, 
     //categoryAxis: { 
     // categories: ['Ease of requesting help', 'Time to reach qualified technician', 'Time to provide a solution', 'Completeness of solution', 'Technical ability & product knowledge', 'How well we kept you informed', 'Overall opinion of service'], 
     //}, 
     tooltip: { 
      visible: true, 
      format: "#.##" 
     } 
    }); 
} 

正在呈現空白。當我運行一個AJAX調用:使用Firebug

$.ajax({ 
    type: 'GET', 
    url: '../Test/GetData', 
}).done(function (data) { 
    var customerSatisfactionChartData = data; 
}).fail(function (jqXHR, textStatus) { 
}) 

在Firefox我收到此回JSON:

{"customerSatisfactionChart":[{"KPIColumnName":"Time To Reach Qualified Tech","KPIColumnValue":3.579831},{"KPIColumnName":"Completeness Of Solution","KPIColumnValue":3.359243},{"KPIColumnName":"Opinion Of Overall Service","KPIColumnValue":3.720588},{"KPIColumnName":"Tech Ability And Prod Knowledge","KPIColumnValue":3.636554},{"KPIColumnName":"Time To Provide Solution","KPIColumnValue":3.285714},{"KPIColumnName":"Ease Of Requesting Help","KPIColumnValue":3.758403},{"KPIColumnName":"How Well Are You Kept Informed","KPIColumnValue":3.262605}]} 

我想爲什麼劍道圖表不消耗,這是正確弄清楚?這是在我的控制檯的響應字段中,但我猜我目前沒有使用Kendo將使用的格式?如果這是問題,有沒有辦法通過解析或參數映射來糾正它?謝謝。

+0

也許調用'done'內'createkpiBreakdownChart'功能會的工作? – darshanags 2013-03-10 03:18:20

+0

謝謝,我還沒有嘗試過,但它仍然無法正常工作。 – Alexander 2013-03-10 03:45:13

+0

1)你的控制檯有沒有錯誤? – darshanags 2013-03-10 03:51:17

回答

2

這是不正確的:

dataSource: { 
     transport: { 
      read: { 
       url: '../Test/GetData', 
       dataType: "json" 
      } 
     } 
    }, 
    schema: { 
     data: "customerSatisfactionChart" 
    }, 

schemaDataSource的一部分,所以應該是:

dataSource: { 
     transport: { 
      read: { 
       url: '../Test/GetData', 
       dataType: "json" 
      } 
     } 
     schema: { 
      data: "customerSatisfactionChart" 
     }, 
    }, 
+0

非常感謝您修復它,現在數據加載正確。對此,我真的非常感激。 (順便提一下,請保留博客,我發現它對進入Telerik/Kendo有用)。再次感謝。 – Alexander 2013-03-10 14:53:36