Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / asp.net, ReportViewer и DataSource без xsd / 7 сообщений из 7, страница 1 из 1
10.09.2013, 14:21
    #38392260
кодер_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
Добрый день!
Может быть кто нибудь подскажет. Возможно ли обойтись без xsd схем для просмотра отчета?
Ситуация такая есть VS2010, делаю ASP.NET приложение c использованием компонента ReportViewer. Нужно выводить разные предварительно созданные отчеты с разными параметрами.
Сделал пустой отчет, добавил DataSet1

на веб-форму положил ReportViewer, выбрал отчет
на Page_Load повесил событие

Код: c#
1.
2.
3.
4.
5.
6.
ReportViewer1.ProcessingMode = ProcessingMode.Local;
DataTable dt = DbRequests.Get_Request(connStr, "12");//возвращает нормальный DataTable
ReportDataSource datasource = new ReportDataSource("DataSet1", dt);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);
ReportViewer1.LocalReport.Refresh();


все это приводит к тому, что отчет не прогружается, а событие page_load выполняется раз в секунду. Предполагаю что проблема именно с DataSet. пробовал и так

Код: c#
1.
2.
3.
4.
            
ReportDataSource datasource = new ReportDataSource(ReportViewer1.LocalReport.GetDataSourceNames()[0], dt);
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(datasource);



Как заставить отчет выводить данные из предварительно сформированного DataTable?
...
Рейтинг: 0 / 0
10.09.2013, 15:32
    #38392407
кодер_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
если использовать преднастроенный xsd, а далее подменять в коде DataSet получается тоже самое - отчет открывается, не может загрузиться и апдейтит страницу раз в секунду.
Если не подменять dataset, отчет открывается корректно
...
Рейтинг: 0 / 0
11.09.2013, 15:45
    #38393746
кодер_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
спасибо форуму за помощь. лекарство нашел без вас
...
Рейтинг: 0 / 0
26.03.2014, 13:23
    #38596871
SergeiGer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
кодер_13,
Какое? Подскажи? такая проблемма.
...
Рейтинг: 0 / 0
14.07.2014, 10:36
    #38695678
Axel Weaver
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
кодер_13спасибо форуму за помощь. лекарство нашел без вас

Вот-вот, и при этом Вы жалуетесь, что никто не выкладывает информации, и сами же не выкладываете.
Нашли решение - поделитесь с народом, пожалуйста, информация никогда лишней не будет!
Заранее спасибо.

В своё время решил эту проблему с помощью ObjectDataSource, путём построение моделей объектов под отчёт.
...
Рейтинг: 0 / 0
19.08.2014, 16:52
    #38723665
кодер_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
SergeiGerкодер_13,
Какое? Подскажи? такая проблемма.
давно не заходил, но ссылка в закладках осталась, поэтому отвечу
уже точно не помню как-то решил, в итоге вообще отказался от репорт-вьювера.
но может быть куски кода помогут.


вызов отчета, проблема была где-то тут ReportViewer_view - визуальный компонент для отображения отчета
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
            

            int reqnum = int.Parse(item.Cells[0].Text);

            ReportViewer_view.LocalReport.DataSources.Clear();
            ReportViewer_view.ProcessingMode = ProcessingMode.Local;
            DataSet ds = new DataSet("DataSet");
            DataTable dt = DbRequests.Get_Request(connStr, reqnum);
            ReportDataSource datasource = new ReportDataSource("DataSet1", dt);
            ReportViewer_view.LocalReport.DataSources.Clear();
            ReportViewer_view.LocalReport.DataSources.Add(datasource);
            ReportViewer_view.LocalReport.Refresh();

            ReportViewer_view.Visible = true;



Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
        </asp:Panel>
                <rsweb:ReportViewer ID="ReportViewer_view" runat="server" Font-Names="Verdana" 
        Font-Size="8pt" InteractiveDeviceInfos="(Коллекция)" 
        WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt" Width="100%" 
            Height="600px" Visible="False"
                >
                <LocalReport ReportPath="reports\reqview.rdlc" >
                    <DataSources>
                        <rsweb:ReportDataSource DataSourceId="rep_sd" Name="DataSet1" />
                    </DataSources>
                </LocalReport>
            </rsweb:ReportViewer> 
        <asp:SqlDataSource ID="rep_sd" runat="server" 
            ConnectionString="<%$ ConnectionStrings:sdConnectionString %>" 
            SelectCommand="SELECT * FROM [Adress]"></asp:SqlDataSource>
        

        

        

        

        
        
        <asp:Button ID="Button1" runat="server" Text="Закрыть" 
            onclick="Button1_Click" />
        

    </asp:Panel>


сам отчет rdlc файл для создания создавался фейковый датасет, потом датасет удалялся, rdlc редактировал в xml виде для добавления полей в dataset, далее в визуальном редакторе VS2010 наводил красоту.

В итоге осознав весь геморрой плюнул на все это и понял что простые asp.net веб-формы гораздо лучше и универсальнее. Не надо каждому юзеру иметь администратора чтобы воспользоваться отчетом, печатью отчета(для этого надо предварительно установить соотв. ActiveX). Не надо держать сайт в доверенных узлах чтобы юзер увидел отчет.
Для построения сводного отчета потом использовал Report Server, но там отчеты просто работали с сайта в соотв. с заданными разрешениями и никакого ActiveX не отребовали.
Считаю что ответил на вопрос.
...
Рейтинг: 0 / 0
19.08.2014, 16:55
    #38723669
кодер_13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
asp.net, ReportViewer и DataSource без xsd
Ах да, забыл
if (!Page.IsPostBack)
{}
в PageLoad даже если он будет пустой.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / asp.net, ReportViewer и DataSource без xsd / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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