Здравствуйте D.Triton, Вы писали : > Как можно добраться до объекта внутри отчета? > К примеру, у меня есть диаграмма. На ней нужно проставить заголовок. > Как это можно сделать программно?
Передать через параметры отчета???
Вообще-то не совсем понятно, что это и зачем нужно, потому как, обычно,
отчет на то и отчет, чтобы от желания пользователя в нем ничего не
изменялосб....
Posted via RSDN NNTP Server 2.0
Всё, что нас не убивает, ещё горько об этом пожалеет.
Re: Как добраться до объекта внутри отчета (Crystal Reports)
DT>>Как можно добраться до объекта внутри отчета?
AG>Нужно добавить ссылку на эту библиотеку: AG>%SYSTEM%\Program Files\Common Files\Crystal Decisions\1.0\Bin\craxddrt20.dll
AG>потом в коде C# AG>using CRAXDDRT;
AG>и дальше смотреть Object Browser'ом.
Я не совсем понял, что вы имели ввиду.
У меня есть скажем такая ситуация.
В репорте есть диаграмма. Иногда мне надо поменять на ней заголовок.
Так вот, как получить ссылку на эту диаграмму?
MyCrystalReport rep = new MyCrystalReport();
rep.HowToGetGraphObject.Title = "Hello! This is my best report!";// что должно быть вместо HowToGetGraphObject?
Re[3]: Как добраться до объекта внутри отчета (Crystal Repor
DT>MyCrystalReport rep = new MyCrystalReport();
DT>rep.HowToGetGraphObject.Title = "Hello! This is my best report!";// что должно быть вместо HowToGetGraphObject?
DT>
Судя по коду скорее всего используеться CrystalReport встроенный в студию, а он имеет ограниченя на доступ к объектам отчета и поменять заголовок не получиться.
если использовать предложенный выше способ
получаеться приблизительно такой код
ApplicationClass app = new ApplicationClass();
Report rep;
rep = app.OpenReport(@"D:\CrystalReport1.rpt",0);
foreach(Section s in rep.Sections)
{
foreach(IReportObject oRep in s.ReportObjects)
{
if (oRep.Kind == CRObjectKind.crGraphObject)
{
IGraphObject gr ;
gr = (CRAXDDRT.IGraphObject)oRep;
gr.Title ="Заголовок";
}
}
}
crystalReportViewer1.ReportSource = rep;
ЗЫ: да заголовки поменяються во всех диаграммах
Re[4]: Как добраться до объекта внутри отчета (Crystal Repor
FG>foreach(Section s in rep.Sections) FG>{ FG> foreach(IReportObject oRep in s.ReportObjects) FG> { FG> if (oRep.Kind == CRObjectKind.crGraphObject) FG> { FG> IGraphObject gr ; FG> gr = (CRAXDDRT.IGraphObject)oRep; FG> gr.Title = "Заголовок"; FG> } FG> } FG>}
FG>crystalReportViewer1.ReportSource = rep; FG>[/c#] FG>ЗЫ: да заголовки поменяються во всех диаграммах
Да. Так получается. Только есть трабла следующего характера:
crystalReportViewer1. — должен быть инстансом ActiveX контрола, а то .net-вский вариант Report не кушает