akosisugar Ответов: 1

Путь загрузки кристаллического отчета


использование ms vsstudio 2010 (c#)..

у меня есть папка с именем "отчет"в проекте. он содержит все отчеты crystal reports (5 файлов отчетов) моего проекта. поэтому, если я хочу перенести свой проект на другой компьютер, я также изменю путь, не так ли?!

я хочу перенести свою папку проекта, не меняя путь ко всем отчетам crystal.

есть ли другой способ уменьшить эту проблему?. я думал, могу ли я позвонить только по имени папки и имени файла. например, РПТ.Загрузить("имя папки\кор.РПТ").. как это сделать? ТИА.

#новичок

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

rpt.Load(@"C:\Users\machuca\documents\visual studio 2010\Projects\enrollment\enrollment\reports\rptcor.rpt");

1 Ответов

Рейтинг:
11

an0ther1

Если вы создаете приложение Windows Forms есть 2 метода;
а) используйте общий сетевой ресурс, который всегда будет доступен - в качестве альтернативы вы можете использовать фиксированное местоположение, например c:\Reports
б)переместите папку отчетов в папку, в которой находится исполняемый файл, а затем используйте либо;

rpt.Load(System.Windows.Forms.Application.StartupPath + "\\Reports\\ReportName.rpt");

или
rpt.Load(System.AppDomain.BaseDirectory + "\\Reports\\ReportName.rpt");


Если вы делаете жереха.Затем вы создадите папку отчетов на своем веб-сайте (обычно в виде подпапки в корне вашего веб-сайта), а затем загрузите отчет с помощью
rpt.Load(Server.MapPath(@"~/Reports/ReportName.rpt"));


с уважением


akosisugar

мой проект-это windows form.. i hv папка выпуска, в которой находятся все мои файлы проекта, включая папку отчета.. Итак, если я перенесу папку выпуска на другой компьютер, могу ли я использовать это? "РПТ.Нагрузки(Система.Окна.Формы.Приложение.StartupPath + "\ \ Reports\\ReportName.rpt"); " означает ли это, что он всегда будет находить исполняемый файл для загрузки отчета?

an0ther1

Да, это верно.
Отчет будет загружен из подкаталога в папке, содержащей исполняемый файл Windows Form

Овации

akosisugar

Спасибо!

Member 14660742

Я сделал веб-приложение и использовал ваше решение
РПТ.Загрузить(Сервер.MapPath (@"~/Reports/ReportName.rpt"));
Но на меня это не подействовало.
Пожалуйста, укажите, есть ли какое-либо другое решение.
Я получаю ошибку в строке rpt.load(Path).
Спасибо.