вопрос по созданию связей StiDataRelation

Обсуждение Stimulsoft Reports.NET
Ответить
NSG
Сообщения: 41
Зарегистрирован: 31 янв 2007, 13:22
Откуда: Russia

вопрос по созданию связей StiDataRelation

Сообщение NSG »

Возникла следующая сложность, мне нужно из кода создать связь между двумя databend , я уже, как только не пытался, связь в источниках данных так и не появилась, вот часть кода


StiDataRelation СвязьГруппы = new StiDataRelation("СвязьГрупп", "СвязьГрупп", "СвязьГрупп",
report.Dictionary.DataSources["rdsSourceGroup"], report.Dictionary.DataSources["rdsSource"], new string[] { "Идентификатор" }, new string[] { "ИдентификаторРодителя" });

report.Dictionary.RegRelations();
report.Dictionary.Relations.Add(СвязьГруппы);
dataBand.DataRelationName = "СвязьГруппы";

пробовал вызывать в начале report.Dictionary.Synchronize() не помогло , прошу помощи , заранее спасибо
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

вопрос по созданию связей StiDataRelation

Сообщение Edward »

Здравствуйте.

Вот пример, который добавит связь в источники данных:

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

DataSet ds = new DataSet("Demo");
ds.ReadXml("D:\\demo.xml");
report.RegData(ds);
report.Dictionary.Synchronize();
StiDataRelation dataRelation = new StiDataRelation("MyRelation", report.Dictionary.DataSources["Categories"], report.Dictionary.DataSources["Products"], new System.String[]{"CategoryID"}, new System.String[] {"CategoryID"});
report.Dictionary.RegRelations();
report.Dictionary.Relations.Add(dataRelation);
Но для того, чтобы работал Master-Detail и для бэндов, нужно указать у Detail - MasterComponent, и название DataRelation, как у Вас и указано.

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

DataBandProducts.MasterComponent = DataCategories;
DataBandProducts.DataRelationName = "MyRelation";
Спасибо.
NSG
Сообщения: 41
Зарегистрирован: 31 янв 2007, 13:22
Откуда: Russia

вопрос по созданию связей StiDataRelation

Сообщение NSG »

Проблема в том что связь не появляется в источниках данных, если я в дизайне добавляю связь, она там появляется а из кода ни как не получается, сделал все как у вас в примере связь не появилась в источниках данных

report.RegData(rdsSource.Name, rdsSource.UserData);
report.RegData(rdsSourceGroup.Name, rdsSourceGroup.UserData);
report.Dictionary.Synchronize();

StiDataRelation dataRelation = new StiDataRelation("MyRelation", report.Dictionary.DataSources["rdsSourceGroup"], report.Dictionary.DataSources["rdsSource"], new System.String[] { "Идентификатор" }, new System.String[] { "ИдентификаторРодителя" });

report.Dictionary.RegRelations();
report.Dictionary.Relations.Add(dataRelation);
dataBand.MasterComponent = groupsDataBand;
dataBand.DataRelationName = "MyRelation";
в коде отчета тоже нет связи
:cry:
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

вопрос по созданию связей StiDataRelation

Сообщение Edward »

Здравствуйте.

Вышлите, пожалуйста, пример проекта, в котором проявляется эта описанная Вами проблема на support[at]stimulsoft.com. Не удалось самостоятельно воспроизвести проблему.

Спасибо.
NSG
Сообщения: 41
Зарегистрирован: 31 янв 2007, 13:22
Откуда: Russia

вопрос по созданию связей StiDataRelation

Сообщение NSG »

Все разобрался , это был мой косяк :brick: спасибо
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

вопрос по созданию связей StiDataRelation

Сообщение Edward »

:)

Дайте знать, если понадобится дополнительная помощь.

Спасибо.
Ответить