2014-08-29 2 views
0

Я использую Google Chart в своем веб-приложении и хотел бы изменить отображаемую диаграмму, используя раскрывающийся список.Динамически генерировать тип диаграммы Google из раскрывающегося списка

В раскрывающемся списке хранится тип диаграммы в коде позади, и я пытаюсь вставить переменную VB.net в переменную диаграммы var.

var chart = new google.visualization. datachart (document.getElementById ('chart_div')); chart.draw (данные, параметры);

Значение жирным шрифтом определяет, какой график получает отображается (ColumnChart, Linechart и т.д.)

Как лучше всего это сделать?

ответ

0

Простой способ установить график в соответствии с тем, который Вы хотите сделать:

var chart; 
if(chartType== 'LineChart'){ 
    chart= new google.visualization.LineChart(document.getElementById('chart_div')); 
}else if(chartType== 'BarChart'){ 
    chart= new google.visualization.BarChart(document.getElementById('chart_div')); 
}// and so on 

chart.draw(data, options); 

Для более динамично, вам нужно будет использовать chartWrapper, который вы можете установить тип диаграммы с string или do:

chartWrapper.setChartType('LineChart'); 
+0

Это прекрасно работает, спасибо, Ювиан. – Mbond65

+0

@ Mbond65 проблем нет, удачи с вашим proyect – juvian

0

Вы можете обрабатывать это несколькими способами. juvian указал несколько из них, но если вы хотите что-то более прямой от ASP.net:

var chart = new google.visualization.<%=chartType %>(document.getElementById('chart_div')); 

Где chartType является строкой, которая соответствует тип диаграммы, как "BarChart" или "LineChart".

Если вы идете по этому маршруту, вы должны проверить тип диаграммы на стороне сервера, чтобы вы не пытались получить доступ к типу диаграммы, который не существует.

+0

Спасибо за ваше предложение asgallant, это то, что я пробовал изначально и нашел проблемы с. Когда вы пытаетесь вставить переменную на стороне сервера в команду, вы получаете сообщение об ошибке, которое ожидает идентификатор, и не может принять переменную на стороне сервера. – Mbond65

+0

Это ASP.net, который бросает эту ошибку или javascript? JS не должен знать (или заботиться) о том, что сервер сделал в фоновом режиме для настройки вашего кода. – asgallant

Смежные вопросы