У меня есть код ниже кода.fusionChart не загружается динамическими данными с использованием Json и C#
protected void Page_Load(object sender, EventArgs e)
{
hdndata.Value = ShowFusionChart();
}
public string ShowFusionChart()
{
DataTable dt = new DataTable();
dt = LoadGrid();
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
if (col.ColumnName.ToLower() == "linkname")
row.Add("label", dr[col]);
if (col.ColumnName.ToLower() == "countno")
row.Add("value", dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
Public DataTable LoadGrid()
{
// This code block is generating a DataTable from database
}
Я имею следующие выборочные данные в мою скрытое 'hdndata', как
[{"label":"Products","value":88},{"label":"Documents","value":77},{"label":"Videos","value":58}]
На странице Design ......
<div id="chartContainer">FusionCharts XT will load here!</div>
<div id="chartContainer2"></div>
<script type="text/javascript" src="fusioncharts/fusioncharts.js"></script>
<script type="text/javascript" src="fusioncharts/themes/fusioncharts.theme.zune.js"></script>
<script type="text/javascript">
$(function() {
`enter code here`
alert($('#hdndata').val());// getting alert with Json Data.
FusionCharts.ready(function() {
var jdata ;
jdata = $('#hdndata').val();
//console.log(jdata);
var revenueChart = new FusionCharts({
type: "column2d",
renderAt: "chartContainer",
width: "500",
height: "300",
dataFormat: "json",
dataSource: {
"chart": {
"caption": "Asset Tracking Report",
"subCaption": "Microsite Report",
"xAxisName": "Assets",
"yAxisName": "Count",
"theme": "zune"
},
"data": jdata
}
});
revenueChart.render("chartContainer");
});
});
</script>
Еще Диаграмма не населен. Ошибка не отображается. Сообщение «Нет данных для отображения».
Если я предоставил статические данные формата Json после «данных»: тогда это работает отлично.
Вопрос: Как запустить диаграмму с динамическими данными? Пожалуйста, помогите мне найти мои ошибки. Спасибо вам всем.
Hi Sanjukta, Если я передаю данные Json в части данных диаграммы, тогда график готовится отлично. Кроме того, я проверил, что hiddenfiled - это география, заполненная данными JSON из базы данных, я вижу значение скрытого поля из этой строки кода. оповещения ($ ('# hdndata') Вал().); –
Я преобразовал данные в JSON, а затем использовал переменную в диаграмме. jdata = JSON.parse ($ ('# hdndata'). Val()); Это работает. Благодарим всех. –