/// <summary> /// 获取Y轴JSON /// </summary> /// <param name="getYJsonCallback"></param> /// <returns></returns> public virtual string GetYJson(GetJsonAppHandler getYJsonCallback) { StringBuilder json = new StringBuilder("["); for (int l = 0; l < Y_List.Count; l++) { json.Append("{\"data\":["); List <LineChartPoint> points = Y_List[l].Points.OrderBy(a => a.XValue).ToList(); int xCount = X_Strings.Count; for (int i = 0, j = 0; i < xCount; i++) { if (j < points.Count && points[j].XValue == X_Strings[i]) { json.Append("{"); json.AppendFormat("\"dataLabels\":{{\"enabled\":{0}}}", (i % Step == 0).ToString().ToLower()); json.AppendFormat(",\"Des\":\"{0}\"", points[j].Description); json.AppendFormat(",\"NumType\":\"{0}\"", points[j].NumberType); json.AppendFormat("{0}", getYJsonCallback(points[j])); json.AppendFormat(",\"y\":{0}", points[j].YValue); json.Append("}"); if (i < xCount - 1) { json.Append(","); } j++; } else { json.Append("null"); if (i < xCount - 1) { json.Append(","); } } } json.AppendFormat("],\"visible\":{0},\"name\":\"{1}\"}}", Y_List[l].Show.ToString().ToLower(), Y_List[l].Name); if (l < Y_List.Count - 1) { json.Append(","); } } json.Append("]"); return(json.ToString()); }
/// <summary> /// 获取X轴JSON /// </summary> public string GetXJson(GetJsonAppHandler fun) { StringBuilder jsonBuilder = new StringBuilder("categories:["); foreach (string x in X_Strings) { jsonBuilder.AppendFormat(@"""{0}"",", x); } string json = jsonBuilder.ToString(); if (json.EndsWith(",")) { json = json.Substring(0, json.Length - 1) + "]"; } if (X_Strings.Count == 0) { json = json + "]"; } string labels = string.Format("labels:{{step:{0} {1} }}", Step, fun(null)); return("{" + json + "," + labels + "}"); }