Страница 1 из 1
Как вытащить данные из отчета
Добавлено: 21 ноя 2007, 11:21
Ильдар
У меня в папке с моим отчетным комплексом лежат скомпилированные отчеты. Хочу сделать так, чтобы при запуске программа проверяла количество файлов и если оно изменилось - то создавала бы новый список отчетов, причем название отчета и его расположение в дереве (TreeView в моей проге) вытаскивала бы из файла отчета. Можно ли такое сделать?
Как вытащить данные из отчета
Добавлено: 21 ноя 2007, 11:52
ask
Такую иерархию проще в базе данных представить. Одна таблица, в которой поля: уникальный ключ, название отчета, блоб отчета, ссылка на родителя. А в вашей проге релизуйте метод рекурсивного считывания дерева отчетов из базы. И все.
Как вытащить данные из отчета
Добавлено: 21 ноя 2007, 13:02
Edward
Возможно, Вам также будет полезен код, который проверяет наличие dll отчета по названию mrt файла отчета, прямо во время запуска отчета на выполнение.
Если соответствующая dll отсутствует, то она будет создана заново.
Код: Выделить всё
StiReport stiReport = null;
xmlData.Position = 0;
DataSet dataset = new DataSet();
dataset.ReadXml(xmlData);
string compiledReportFile = "report.dll";
if (!File.Exists(compiledReportFile))
{
stiReport = new StiReport();
stiReport.Load(sessionInfo.SummaryReportPath);
stiReport.Dictionary.DataStore.Clear();
stiReport.Dictionary.Databases.Clear();
stiReport.RegData("Visit", dataset);
stiReport.Dictionary.Synchronize();
stiReport.Compile(compiledReportFile);
stiReport.CompiledReport.Rendering += new EventHandler(OnRendering);
}
else
{
stiReport = StiReport.GetReportFromAssembly(compiledReportFile, true);
stiReport.RegData("Visit", dataset);
stiReport.Rendering += new EventHandler(OnRendering);
}
stiReport.PrinterSettings.ShowDialog = false;
stiReport.Render(false);
stiReport.Print(GetPrinterSettings(sessionInfo));
xmlData.Close();
stiReport.Dispose();
Сам файл отчета имеет xml - структуру, поэтому название отчета можно получить прямо из файла шаблона, или после его загрузки из dll в соответствующем свойстве в экземпляре класса отчета.
Спасибо.
Как вытащить данные из отчета
Добавлено: 22 ноя 2007, 04:28
Ильдар
Спасибо
Как вытащить данные из отчета
Добавлено: 22 ноя 2007, 09:51
Edward
Дайте знать, если понадобится помощь.
Спасибо.