MS Chart, C # dotnet - PullRequest
       8

MS Chart, C # dotnet

1 голос
/ 11 января 2012

Здравствуйте, я хочу создать свечную диаграмму, используя элемент управления MS Chart, и хочу, чтобы она работала в режиме реального времени в соответствии с текущим временем. Я выполняю хранимую процедуру, а также получаю в реальном времени данные о максимуме, минимуме, открытии, закрытии и т.д. базы данных и хотите установить это в диаграмме, так как это возможно ....? Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 11 января 2012

Вы можете использовать подобный код для получения данных из хранимой процедуры в DataTable.

public static DataTable GetData()
    {
        var conn = new SqlConnection("someConnectionString");
        conn.Open();
        var comm = new SqlCommand("GetData", conn);
        comm.Parameters.AddWithValue("@someParameter", someParameterValue);
        comm.CommandType = CommandType.StoredProcedure;
        var adpt = new SqlDataAdapter(comm);
        var dt = new DataTable();
        adpt.Fill(dt);
        comm.Dispose();
        conn.Close();
        return dt;
    }

Затем вы можете привязать его к графику:

var dataTable = GetData();
Chart1.Series[0].DataSource = dataTable;
Chart1.Series[0].DataBind();

Series[0] должен иметь ChartType, установленный на Candlestick, и ваша хранимая процедура должна возвращать 4 числа для каждой строки. Сейчас я не помню, каков порядок, но, вероятно,: открыть, закрыть, мин, макс. Вы можете проверить это, попробовав или в документации.

0 голосов
/ 10 февраля 2015

Выше ответ не отвечает на вопрос полностью. Автор спрашивает о привязке графика подсвечника, который является более сложным случаем, поскольку имеет четыре канала данных Y. Я столкнулся с той же проблемой и нашел хорошее обсуждение по другому вопросу C # MSChart Candle Stick & Moving Average Chart. Ошибка: ошибка формулы - недостаточно точек данных для периода . Я рекомендую этот код всем, кто интересуется этой темой.

...