Maideen Abdul Kader Ответов: 1

Как изменить цвет столбчатой диаграммы в ASP.NET Пейдж?


Привет Пожалуйста, помогите мне изменить цвет каждого столбца в столбчатой диаграмме

Приведенный ниже код прекрасно работает только в одном цвете. У меня есть 12 месяцев. Как изменить цвет каждого месяца

Пожалуйста, посоветуйте мне

Спасибо.
Мейден

Что я уже пробовал:

<pre>    <script>
        var chartData; // globar variable for hold chart data
        google.load("visualization", "1", { packages: ["corechart"] });
        // Here We will fill chartData
        $(document).ready(function () {
            $.ajax({
                url: "Default.aspx/LoadTotalQR_Month",
                data: "",
                dataType: "json",
                type: "POST",
                contentType: "application/json; chartset=utf-8",
                success: function (data) {
                    chartData = data.d;
                },
                error: function () {
                    alert("Error loading data! Please try again.");
                }
            }).done(function () {
                // after complete loading data
                google.setOnLoadCallback(drawChart_C);
                drawChart_C();
            });
        });
        function drawChart_C() {
            var data = google.visualization.arrayToDataTable(chartData);
            var options = {
                title: "",
                pointSize: 5
            };
            var columnChart = new google.visualization.ColumnChart(document.getElementById('column-chart1'));
            columnChart.draw(data, options);
        }
    </script>



<WebMethod()>
    Public Shared Function LoadTotalQR_Month() As List(Of Object)
        Dim query As String = "SELECT SUM(AMOUNT) AS AMOUNT,MonthName,monthno FROM [dbo].[DP_Receipt_Head] " &
                              "WHERE YEARNO =  '" & Date.Now.Year & "' Group BY MonthName,monthno order by Monthno"
        Dim constr As String = ConfigurationManager.ConnectionStrings("ConnectString").ConnectionString
        Dim CharData_AREA As New List(Of Object)()
        CharData_AREA.Add(New Object() {"MonthName", "AMOUNT"})
        Using con As New SqlConnection(constr)
            Using cmd As New SqlCommand(query)
                cmd.CommandType = CommandType.Text
                cmd.Connection = con
                con.Open()
                Using sdr As SqlDataReader = cmd.ExecuteReader()
                    While sdr.Read()
                        CharData_AREA.Add(New Object() {sdr("MonthName"), sdr("AMOUNT")})
                    End While
                End Using
                con.Close()
                Return CharData_AREA
            End Using
        End Using
    End Function

Richard Deeming

Dim query As String = "SELECT SUM(AMOUNT) AS AMOUNT,MonthName,monthno FROM [dbo].[DP_Receipt_Head] " &
    "WHERE YEARNO =  '" & Date.Now.Year & "' Group BY MonthName,monthno order by Monthno"

Не делай этого так!

В то время как в данном конкретном случае возможно, вы в порядке, но использование конкатенации строк для построения запросов к базе данных приведет к тому, что SQL-инъекция[^].

Вместо этого используйте параметризованный запрос.
Const query As String = "SELECT SUM(AMOUNT) AS AMOUNT, MonthName, monthno FROM [dbo].[DP_Receipt_Head] WHERE YEARNO = @YearNo GROUP BY MonthName, monthno ORDER BY monthno"

Using con As New SqlConnection(constr)
    Using cmd As New SqlCommand(query, con)
        cmd.Parameters.AddWithValue("@YearNo", Date.Today.Year)
        con.Open()
        Using sdr As SqlDataReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)
            While sdr.Read()
                CharData_AREA.Add(New Object() {sdr("MonthName"), sdr("AMOUNT")})
            End While
        End Using
    End Using
End Using

Все, что вы хотели знать о SQL-инъекции (но боялись спросить) | Трой Хант[^]
Как я могу объяснить SQL-инъекцию без технического жаргона? | Обмен Стеками Информационной Безопасности[^]
Шпаргалка по параметризации запросов | OWASP[^]

Maideen Abdul Kader

хорошо, Спасибо за ваш ответ.
А как насчет цветов для каждого месяца? пожалуйста, посоветуйте мне

1 Ответов

Рейтинг:
8

DerekT-P

Это объясняется в документации Google. Сначала ознакомьтесь с документацией для любого инструмента, который вы используете, прежде чем задавать вопросы на онлайн-форумах. Я никогда не использовал объект ColumnChart Google, но нашел документацию менее чем за минуту. Вот ты где: Визуализация: Столбчатая Диаграмма  |  Графики  |  Разработчики Google[^]