我正在寻找与 Enterprise Architect 中的“在所有图表中查找”功能 (Strg + U) 相对应的 API 功能。
类(class)element提供应该返回图表集合的属性图,但在我的情况下它总是返回一个空列表。是方法不对吗?
编辑: 如果有一个函数返回包含该元素的图表集合,我会很高兴。
解决方案:
public List<EA.Diagram> getAllDiagramsOfElement(EA.Element element){
String xmlQueryResult = repository.SQLQuery(
"select dobj1.Diagram_ID " +
"from t_diagramobjects dobj1 " +
"where dobj1.Object_ID = " + element.ElementID+";");
XmlDocument xml = new XmlDocument();
xml.LoadXml(xmlQueryResult);
XmlNodeList xnList = xml.SelectNodes("/EADATA/Dataset_0/Data/Row");
List<EA.Diagram> result = new List<EA.Diagram>();
foreach (XmlNode xn in xnList){
result.Add(repository.GetDiagramByID(Convert.ToInt32(xn["Diagram_ID"].InnerText)));
}
return result;
}
谨致问候 马克
最佳答案
您可能必须使用查询,
试试这个
select * from t_diagramobjects dobj1, t_diagramobjects dobj2 where dobj1.object_id=dobj2.object_id 和 dobj1.diagram_id!=dobj2.diagram_id;
关于enterprise-architect - 与 Enterprise Architect 中的 "find in all diagrams"等效的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22938709/