2016-08-19 40 views
-1

我有這樣數據是正確的

public static string summarydata(string RegNo) 
    { 

     try 
     { 
      TrackDataEntities1 sd = new TrackDataEntities1(); 

      var mdata = new TrackDataEntities1().spsumdata(RegNo) 
      .Select(s => new { month = s.Month }).ToArray(); 

      var sdata = new TrackDataEntities1().spsumdata(RegNo) 
      .Select(s => new { s.VName, s.total }).ToArray(); 
      return Newtonsoft.Json.JsonConvert.SerializeObject(mdata) + "*" + Newtonsoft.Json.JsonConvert.SerializeObject(sdata); 

     } 
     catch (Exception) 
     { 
      throw new Exception(); 
     } 

    } 

代碼現在該回到我的數據是這樣

"[{\"month\":\"July\"},{\"month\":\"June\"},{\"month\":\"June\"}, 
{\"month\":\"August\"},{\"month\":\"July\"},{\"month\":\"June\"}, 
{\"month\":\"May\"},{\"month\":\"June\"}]*[{\"VName\":\"DDSB\",\"total\":1}, 
{\"VName\":\"DPSB\",\"total\":1},{\"VName\":\"DSB\",\"total\":1}, 
{\"VName\":\"MV\",\"total\":5},{\"VName\":\"MV\",\"total\":11}, 
{\"VName\":\"MV\",\"total\":7},{\"VName\":\"MV\",\"total\":1}, 
{\"VName\":\"PSB\",\"total\":1}]" 

jQuery的 修訂JQUERY $(函數(){

  $('#tabledata').on('click', 'tr', function() { 
       var row = $(this); 
       var regno = row.find('td')[0].firstChild.data; 
       var obj = {}; 
       obj.RegNo = regno; 
       Getsumdata(obj); 
       return false; 

      }); 
     }); 
     function Getsumdata(obj) { 
      $.ajax({ 
       type: "POST", 
       url: "WebForm1.aspx/summarydata", 
       data: JSON.stringify(obj), 
       contentType: "application/json;charset=utf-8", 
       dataType: "json", 
       async: true, 
       cache: false, 
       success: function (result) { 
        alert(JSON.stringify(result.d)); 

       var data1 = result.d.split('*')[0]; 
       console.log(typeof (data1)); //Still a String... 
       var data11 = JSON.parse(data1); 
       console.log(data11); // 

        $('#sum').highcharts({ 
         title: { 
          text: 'Combination chart' 
         }, 
         xAxis: { 
          categories: data11, 

          title: { 
           text: null 
          } 
         }, 
         labels: { 
          items: [{ 
           html: 'Total fruit consumption', 
           style: { 
            left: '50px', 
            top: '18px', 
            color: (Highcharts.theme && Highcharts.theme.textColor) || 'black' 
           } 
          }] 
         }, 
         // series:data2 
         series: [{ 
         type: 'column', 
         name: 'Jane', 
         data: [3, 2, 1, 3, 4] 
        }, { 
         type: 'column', 
         name: 'John', 
         data: [2, 3, 5, 7, 6] 
        }, { 
         type: 'column', 
         name: 'Joe', 
         data: [4, 3, 3, 9, 0] 
        }, 
        ] 
        }); 

       } 
      }); 
     } 
    </script> 

但圖這個樣子的

chart

現在的問題是JSON看起來是正確的我想是這樣數據爲什麼沒有在圖表填充..我用吧highchart

任何解決辦法嗎?

回答

0

看來你並沒有將正確的數據傳遞給類別和系列。 請改變你的數據,這樣的方式, DATA1代表類別,應該是這樣的

["May","June","July","August"] 

,而你的數據2代表要繪製特定月份的系列數據,應該如下。

[1,10,12,5] 
+0

數據1是在x軸.. – user6628729

+0

檢查我的更新jQuery和更新結果 – user6628729

+0

看到http://jsfiddle.net/gh/get/jquery/1.9.1/highslide -software/highcharts.com/tree/master/samples/highcharts/demo/line-basic /對於樣本hight圖表。 – Ruhul

2
  1. data2仍然是一個字符串,你必須分析它。
  2. 看看如何添加圖表數據的Docs,你必須改變你的當前數據。

var a = "[{\"month\":\"July\"},{\"month\":\"June\"},{\"month\":\"June\"}, {\"month\":\"August\"},{\"month\":\"July\"},{\"month\":\"June\"}, {\"month\":\"May\"},{\"month\":\"June\"}]*[{\"VName\":\"DDSB\",\"total\":1}, {\"VName\":\"DPSB\",\"total\":1},{\"VName\":\"DSB\",\"total\":1}, {\"VName\":\"MV\",\"total\":5},{\"VName\":\"MV\",\"total\":11}, {\"VName\":\"MV\",\"total\":7},{\"VName\":\"MV\",\"total\":1}, {\"VName\":\"PSB\",\"total\":1}]"; 
 

 
var d = a.split('*')[1]; 
 
console.log(typeof(d)); //Still a String... 
 
var e = JSON.parse(d); 
 
console.log(e); //Yay an object.

+0

當我試試這個..成功:功能結果){ var d = result.split('*')[1]; console.log(typeof(d)); // Still a String ... var e = JSON.parse(d); console.log(e);並寫上這樣的系列e ..系列:e這顯示錯誤result.split不是一個功能 – user6628729

+0

請檢查更新quesiton請 – user6628729