Страница 1 из 1
Общение с внешними классами
Добавлено: 29 ноя 2006, 10:22
Moonrain
Добрый день!
У меня есть отчет и есть приложение на C#, которое его запускает. Данные, которые будут фигурировать в отчете не нужно получать из БД или XML. Каким образом можно передать отчету параметры? Была попытка подключить namespace своего приложения (оно двойное: nameA.nameB), ничего не вышло. Говорит, что нет такого namespace.
Спасибо!
Общение с внешними классами
Добавлено: 29 ноя 2006, 11:47
Vital
Для того чтобы использовать свои классы нужно подключить сборку с этим классом.
Как это сделать можно посмотреть здесь
How_to_Add_My_Function
Кроме этого данные можно передать через переменные. Если данные слодные то можно использовать переменную типа object, а в код отчета добавить
свойство для преобразования:
private MyClass Data
{
get
{
return myvariable as MyClass;
}
}
В этом случае также нужно добавлять ссылку на сборку.
Спасибо.
Общение с внешними классами
Добавлено: 29 ноя 2006, 12:33
Moonrain
Была попытка сделать так, как показано в How to Add My Function. Не вышло
Что я делаю не так?
Код: Выделить всё
// приложение
namespace Abiturient.Person_View
{
public partial class frmPersonView : Form
{
public frmPersonView()
{
//....
}
public string SendParameter() // метод, который будет вызываться в отчете для получения параметров
{
return "Ivanov"; // например, посылаем строку
}
}
}
// отчет
// предварительно добавляем reference, как показано в How to Add My Function
//Abiturient.Person_View.exe
using Abiturient.Person_View;
namespace Reports
{
public class Report : Stimulsoft.Report.StiReport
{
public Report()
{
this.InitializeComponent();
surname = frmPerson_View.GetParameter();
}
private string surname;
//.......
}
}
При добавлении ссылки выдает ошибку, что ее не найдено. Может, правильнее добавить Abiturient.frmPerson_View.exe ? Но так тоже не работает
Общение с внешними классами
Добавлено: 29 ноя 2006, 13:18
Vital
Abiturient.Person_View.exe должен находится там же где и сборки репорта (или этот файл должен находится компилятором по правилам поиска сборок в .Net).
Пришлите пожалуйста файл Вашего отчета с добавленной ссылкой на support [at] stimulsoft [dot] com мы посмотрим может мелочи какой не хватает.
Спасибо.
Общение с внешними классами
Добавлено: 30 ноя 2006, 00:23
Vital
Замените Abiturient.Person_View.exe на Person_View.exe (т.к. сборка у
с Вашим классом реально называется Person_View.exe) в
ReferencedAssemblies.
Кроме этого метод public string SendParameter() должен быть
статическим в данном контексте.
Спасибо.
Общение с внешними классами
Добавлено: 30 ноя 2006, 05:45
Moonrain
Спасибо!
Все заработало