Страница 1 из 1

При report.RegData() DataSet.Relations не преобразуются в report.Dictionary.Relations

Добавлено: 19 фев 2009, 07:50
Коновалов Дмитрий
Vista x64, UAC включен, платформа проекта - AnyCPU.
Сборка от 16.02.2009.

Код:

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

StiReport r = new StiReport();
DataSet ds1 = new DataSet();
ds1.ReadXmlSchema(@"C:\Program Files (x86)\Stimulsoft Reports.Net 2008.2\Bin\Data\demo.xsd");
ds1.ReadXml(@"C:\Program Files (x86)\Stimulsoft Reports.Net 2008.2\Bin\Data\demo.xml");
System.Console.WriteLine("Relations in DataSet: " + ds1.Relations.Count.ToString());
r.RegData(ds1);
r.Dictionary.RegRelations();
System.Console.WriteLine("Relations in report dictionary: " + r.Dictionary.Relations.Count.ToString());

System.Console.WriteLine("Loaded modules:");

foreach (AssemblyName a in System.Reflection.Assembly.GetExecutingAssembly().GetReferencedAssemblies())
{
	System.Console.WriteLine(" "+a.FullName);
	System.Console.WriteLine("------------");
}
System.Console.ReadKey();
Консоль:
Relations in DataSet: 8
Relations in report dictionary: 0
Loaded modules:
mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
------------
Stimulsoft.Report, Version=2009.1.341.0, Culture=neutral, PublicKeyToken=ebe666
6cba19647a
------------
System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
------------

При report.RegData() DataSet.Relations не преобразуются в report.Dictionary.Relations

Добавлено: 20 фев 2009, 13:02
Edward
Здравствуйте,

Попробуйте, пожалуйста несколько изменить код:

r.RegData(ds1);
r.Dictionary.Synchronize();

Спасибо.

При report.RegData() DataSet.Relations не преобразуются в report.Dictionary.Relations

Добавлено: 02 мар 2009, 05:31
Коновалов Дмитрий
Edward, спасибо за совет. В тестовом проекте (тот что приаттачен) действительно помогло, а вот в реальном - нет. Буду пробовать дальше.

При report.RegData() DataSet.Relations не преобразуются в report.Dictionary.Relations

Добавлено: 05 мар 2009, 06:03
Коновалов Дмитрий
Edward, я нашел причину. Если на момент вызова RegData() флаг r.CacheAllData==true, то StiRelation'ы не создаются. Если r.CacheAllData==false, то создаются.
Так надо или это подземный стук?

При report.RegData() DataSet.Relations не преобразуются в report.Dictionary.Relations

Добавлено: 05 мар 2009, 12:25
Edward
Здравствуйте.

Да, устанавливайте, пожалуйста, CacheAllData в false в этом случае.

Спасибо.