powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / ASP.NET ReportViewer... "динамически" изменить настройки Chart
2 сообщений из 2, страница 1 из 1
ASP.NET ReportViewer... "динамически" изменить настройки Chart
    #37259491
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть несколько отчетов с графиками (ASP.NET ReportViewer, .NET 3.5)
которые отличаются привязкой series к полям... DataSet один и тотже.. универсальная хранимка под все графики данные выдает
и приходится, множить отчеты, и в них менять несколько параметров...

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

так вот динамически сую дата сет
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
                    cmd.CommandText = "proc_report1";
                    cmd.Parameters.AddWithValue("@rep_year", param.rep_year);
                    ....

                    DataTable dt_table = new DataTable();

                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dt_table);


                    ReportDataSource rep_ds_table = new ReportDataSource("dsTable", (DataTable)dt_table);

                    ReportViewer1.LocalReport.ReportPath = "Reports\\ReportHDay1.rdlc";
                    
                    ReportViewer1.LocalReport.DataSources.Clear();
                    ReportViewer1.LocalReport.DataSources.Add(rep_ds_table);
                    
                    ReportViewer1.LocalReport.Refresh();
а как подобраться к свойствам отчета не знаю (

если была бы возможность вроде такой
Код: plaintext
 ReportViewer1.LocalReport.ComponentByName("Chart1").ComponentByName("Series1").DataValue = "[sum(field1)]";
это много бы упростило работу

кто-нить в курсе? вопрос решаем?
...
Рейтинг: 0 / 0
ASP.NET ReportViewer... "динамически" изменить настройки Chart
    #37269358
Кифирчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решилось так...
отчет - это есть xml файл

читаем его в память, правим что надо, и подсовываем ReportViewer
по мотивам тынц

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
        objXmlDocument = new XmlDocument();

        objXmlDocument.Load("http://localhost:4550/Reports/Report2.rdlc");
        mgr = new XmlNamespaceManager(objXmlDocument.NameTable);

        string uri = "http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition";

        mgr.AddNamespace("df", uri);

        // правка
        XmlNode n = objXmlDocument.SelectSingleNode(
                "/df:Report/df:Body/df:ReportItems/df:Chart[@Name='Chart1']/df:ChartTitles/df:ChartTitle[@Name='Default']/df:Caption"
                , mgr);
        if (n != null) n.InnerText = "ЗАГОЛОВОК ОТЧЕТА";
       
        // подсовывание отчета
        byte[] rdlBytes = Encoding.UTF8.GetBytes(objXmlDocument.OuterXml);
        MemoryStream stream = new MemoryStream(rdlBytes);
        ReportViewer1.LocalReport.ReportPath = string.Empty;
        ReportViewer1.LocalReport.LoadReportDefinition(stream);
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / ASP.NET ReportViewer... "динамически" изменить настройки Chart
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]