Web-отчет с нуля

Обсуждение Stimulsoft Reports.NET
Ответить
Moonrain
Сообщения: 8
Зарегистрирован: 29 ноя 2006, 10:18

Web-отчет с нуля

Сообщение Moonrain »

Здравствуйте!
Пользовалась winforms отчетами, все отлично работало.
Но пришло время переходить на web-отчеты и что-то не клеится. Помогите пожалуйста!

Создаю с нуля отчет. Для начала пишу там просто какой-нибудь текст.
Сохраняю -> Загружаю страницу -> Получаю ошибку на строчке

this.report.ReportSource = resources.GetString("report.ReportSource");
(Не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре. Проверьте правильность внедрения или связывания "Reports_PersonRegList.resources" со сборкой "App_Web_j2bu2cvw" во время компиляции, или убедитесь, что все необходимые сопутствующие сборки полностью подписаны и могут быть загружены.)

Код страницы простой:

Код: Выделить всё

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Reports_PersonRegList : System.Web.UI.Page
{
    private Stimulsoft.Report.StiReport report;

    protected void Page_Load(object sender, EventArgs e)
    {        
        viewer.Report = report;        
    }

    private void InitializeComponent()
    {
        System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Reports_PersonRegList));
        this.report = new Stimulsoft.Report.StiReport();
        // 
        // report
        // 
        this.report.ReferencedAssemblies = new string[] {
        "System.Dll",
        "System.Drawing.Dll",
        "System.Windows.Forms.Dll",
        "System.Data.Dll",
        "System.Xml.Dll",
        "Stimulsoft.Controls.Dll",
        "Stimulsoft.Base.Dll",
        "Stimulsoft.Report.Dll"};
        this.report.ReportAlias = "Report";
        this.report.ReportName = "Report";
        this.report.ReportSource = resources.GetString("report.ReportSource");
        this.report.ReportUnit = Stimulsoft.Report.StiReportUnitType.Centimeters;

    }

    protected override void OnInit(EventArgs e)
    {
        InitializeComponent();
        base.OnInit(e);
    }
}
Делаю, как в quick start.
Причем, если отключаю в свойствах отчета "Хранить данные в ресурсах", то соответственно отчет не сохраняется вообще, каждый раз пустой лист. Но вышеописанной ошибки не возникает.

И еще вопрос:
в дальнейшем нужно будет передавать в отчет DataTable, сформированный вручную. Это происходит так же, как и в winforms через RegSource или нужно будет включить еще какие-то дополнительные опции? (н-р, UseCache)
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Web-отчет с нуля

Сообщение Edward »

Moonrain писал(а):Пользовалась winforms отчетами, все отлично работало.
Но пришло время переходить на web-отчеты и что-то не клеится. Помогите пожалуйста!

Создаю с нуля отчет. Для начала пишу там просто какой-нибудь текст.
Сохраняю -> Загружаю страницу -> Получаю ошибку на строчке

this.report.ReportSource = resources.GetString("report.ReportSource");
(Не удалось найти ресурсы, соответствующие указанной культуре или нейтральной культуре. Проверьте правильность внедрения или связывания "Reports_PersonRegList.resources" со сборкой "App_Web_j2bu2cvw" во время компиляции, или убедитесь, что все необходимые сопутствующие сборки полностью подписаны и могут быть загружены.)

Код страницы простой:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Reports_PersonRegList : System.Web.UI.Page
{
private Stimulsoft.Report.StiReport report;

protected void Page_Load(object sender, EventArgs e)
{
viewer.Report = report;
}

private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Reports_PersonRegList));
this.report = new Stimulsoft.Report.StiReport();
//
// report
//
this.report.ReferencedAssemblies = new string[] {
"System.Dll",
"System.Drawing.Dll",
"System.Windows.Forms.Dll",
"System.Data.Dll",
"System.Xml.Dll",
"Stimulsoft.Controls.Dll",
"Stimulsoft.Base.Dll",
"Stimulsoft.Report.Dll"};
this.report.ReportAlias = "Report";
this.report.ReportName = "Report";
this.report.ReportSource = resources.GetString("report.ReportSource");
this.report.ReportUnit = Stimulsoft.Report.StiReportUnitType.Centimeters;

}

protected override void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
}

Делаю, как в quick start.
Причем, если отключаю в свойствах отчета "Хранить данные в ресурсах", то соответственно отчет не сохраняется вообще, каждый раз пустой лист. Но вышеописанной ошибки не возникает.
Точно сказать, по какой причине происходит ошибка сложновато, нужно видеть Ваш отчет и web страницу.

Самым простым способом будет загрузка шаблона отчета из mrt файла. Пример в QuickStart предполагает наличие компонента StiReportWeb в Toolbox Visual Studio, который перетаскивается на Web - страницу, но это необязательно. Вы можете создать экземпляр StiReport самостоятельно.

Код может быть следующим:

Код: Выделить всё

StiReport report = new StiReport();
report.Load("myКeport.mrt");
report.RegData(myDataTable);
report.Dictionary.Synchronize();
report.Render(false);
StiWebViewer1.Report = report;
в дальнейшем нужно будет передавать в отчет DataTable, сформированный вручную. Это происходит так же, как и в winforms через RegSource или нужно будет включить еще какие-то дополнительные опции? (н-р, UseCache)
Да, достаточно зарегистрировать источник данных при помощи RegData. Дополнительные опции для этого не нужны.

Спасибо.
Moonrain
Сообщения: 8
Зарегистрирован: 29 ноя 2006, 10:18

Web-отчет с нуля

Сообщение Moonrain »

Спасибо.
Проблему решила переустановкой stimulreport и использованием stiwebreport вместо stireport.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Web-отчет с нуля

Сообщение Edward »

Здравствуйте.

Дайте знать, если понадобится дополнительная помощь.

Спасибо.
Ответить