我目前正在開發一個具有多種功能的插件,其中之一是水平對齊圖表中的埠。
因此,我需要在圖表中獲取當前選定的元素/埠(在本例中為 Hand(Port4))作為“錨”元素,以便其他選定的埠將自己對齊到相同的 x 坐標。
我正在處理的示例圖

在 EA 本身中,它與
Select Object_ID, Name from t_object where Object_id = #CurrentElementID#
進入我的加載項(我正在 Visual Studio 2022 中使用 C# 開發),我認為我可以使用 SQLQuery 做同樣的事情
String selectedPort = repository.SQLQuery("Select Object_ID, Name from t_object where Object_ID = #CurrentElementID# ");
這給了我一個語法錯誤,Object_ID = #CurrentElementID#我不知道為什么。我找到了建議#OBJECTID# 的鏈接,但這也不起作用。
如何解決這個問題并獲得port.top- 值以便我可以將其他埠與它對齊?
uj5u.com熱心網友回復:
除了在自定義 SQL(來自搜索構建器)中之外,您不能使用 # 括起來的關鍵字。所以你必須使用EADiagram.SelectedObjectswhich 是一個集合。repository.GetCurrentDiagram會給你相應的圖表物件。您需要檢查集合是否僅包含一個元素并使用它。從這里您可以找到 elementId/ObjectId 并將其放在您的查詢中。
由于您使用的是加載項,因此使用EA_OnContextItemChanged可能更容易,它將您指向您右鍵單擊以啟動加載項的埠。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/496198.html
上一篇:我可以從VisualStudiogit更改中恢復丟棄的檔案嗎?
下一篇:如何設定脊體速度限制
