Переключение свойства Shield UI диаграммы ASP.NET dataPointText во время выполнения

Я использую соответствующие диаграммы Shield UI ASP.NET на веб-странице. Что мне нужно, так это предоставить пользователю возможность выбрать, показывать ли dataPointText или нет. Для этого я поставил флажок под второй сеткой и пытаюсь использовать следующий код:

        detailChartElement.shieldChart($.extend(initialOptions, {
            primaryHeader: {
                text: headerText
            },
            if (document.getElementById("CheckBox1").checked == true){
                seriesSettings: {
                    line: {
                        dataPointText: {
                            enabled: true,
                            borderColor: 'red',
                            borderWidth:3
                        }
                    }
                },
            },

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


person Chris Evans    schedule 14.08.2013    source источник


Ответы (1)


Ошибка, которую вы делаете, не синтаксическая, а концептуальная. В коде, который создает диаграмму:

   detailChartElement.shieldChart($.extend(initialOptions, {
   }));

вы не можете размещать ничего, кроме свойств диаграммы Shield UI ASP.NET и их свойств. У вас может не быть логических проверок, таких как IF(). Однако у вас могут быть дополнительные переменные и их значения. Имея это в виду, вы можете использовать следующий обходной путь:

  1. В функцию, которую вы используете для воссоздания диаграммы, вы помещаете следующий код:

        var showlabels = document.getElementById("CheckBox1").checked;
    
  2. Затем вы помещаете код настроек серии в процедуру создания диаграммы:

                seriesSettings: {
                    line: {
                        dataPointText: {
                            enabled: showlabels,
                            borderColor: 'red',
                            borderWidth:bordersize
                        }
                    }
                },
    

Свойства и значения всегда будут на месте, однако они будут включены только при установленном флажке.

person Ed Jankowski    schedule 14.08.2013