2016-09-22 4 views
0

У меня есть объект Highcharts.Chart и глобальные опции для него, как:Динамично распределяя варианты Highcharts.Chart NoData

Highcharts.setOptions({ 
    global: { 
     useUTC: false 
    }, 
    lang: { 
     noData: message_1 
    }, 
    chart: { 
     style: { 
      fontSize: '12px', 
      fontWeight: 'lighter', 
      color: '#000000' 
     } 
    } 
}); 

Я тогда установить параметры, используя JavaScript следующим образом:

var options = {}; 
options.lang = {}; 
options.noData = {}; 
options.noData.useHTML = true; //message_1 is HTML 

Теперь, как проверить, будет ли график, который будет отображаться, какие-либо данные или нет после того, как операции с данными извлечения будут выполнены в моем коде? Есть ли какая-нибудь функция, которую я мог бы использовать в своем javascript-коде, чтобы узнать то же самое?

И если нет данных, которые нужно построить, как назначить новое сообщение noData (скажем, message_2) на диаграмму.

Я попытался сделать это, но безрезультатно,

chart.options.noData = message_2; 

где диаграмма является объектом Highcharts.Chart.

+0

Вы видели этот HC пример? http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/no-data-to-display/no-data-line/ –

+0

Да , Я тоже это пробовал, но, похоже, не работает для меня. – Abhinav

+1

Этот пример подходит для вас? http://jsfiddle.net/0Lqyax5x/ –

ответ

1

Если вы хотите изменить свой NoData сообщение, вы можете использовать («.highcharts-нет-данных») класс для изменения этого сообщения:

$('.highcharts-no-data')[0].children[0].innerHTML = 'message3'; 

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

chart.options.lang.noData = 'message3'; 

Это поможет «сохранить» новое сообщение, так что вам не придется менять innerHTML вашего текста каждый раз, когда электронное письма вы удалить ваши данные.

Здесь вы можете увидеть пример того, как это может работать: http://jsfiddle.net/0Lqyax5x/