Страница 1 из 1
вопрос по созданию связей StiDataRelation
Добавлено: 09 дек 2008, 15:11
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() не помогло , прошу помощи , заранее спасибо
вопрос по созданию связей StiDataRelation
Добавлено: 09 дек 2008, 20:38
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";
Спасибо.
вопрос по созданию связей StiDataRelation
Добавлено: 10 дек 2008, 05:46
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";
в коде отчета тоже нет связи
вопрос по созданию связей StiDataRelation
Добавлено: 11 дек 2008, 08:22
Edward
Здравствуйте.
Вышлите, пожалуйста, пример проекта, в котором проявляется эта описанная Вами проблема на support[at]stimulsoft.com. Не удалось самостоятельно воспроизвести проблему.
Спасибо.
вопрос по созданию связей StiDataRelation
Добавлено: 12 дек 2008, 07:49
NSG
Все разобрался , это был мой косяк :brick: спасибо
вопрос по созданию связей StiDataRelation
Добавлено: 12 дек 2008, 10:36
Edward
Дайте знать, если понадобится дополнительная помощь.
Спасибо.