使用 JSL (xpath) 更改因果圖中的文本編輯框我正在嘗試為因果圖中的文本編輯框著色,但是當我使用 xpath 函數抓取特定框時,它總是選擇整個圖。 是否有更具體的路線來獲取單個文本編輯框?
((dgram)[i])<< (xpath("//texteditbox")[i])<<SELECT></SELECT>謝謝!
圖形腳本回复:使用 JSL (xpath) 更改因果圖中的文本編輯框因為你在做 // 而不是 /。 你告訴 Xpath 你想要任何級別的所有文本編輯框。您必須在您想要的文本編輯框上放置過濾器。
例如,這是基於文本中的名稱的一個。
Names default to here(1);
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
obj = dt << Diagram( Y( :Child ), X( :Parent ) );
some_text = {"Time", "Splatter"};
for(i=1, i<=nitems(some_text), i++,
this_text = some_text[i];
xp = "//TextEditBox[text() = '"||this_text||"']";
(obj << XPath(xp)) << Text Color("Red");
);
回复:使用 JSL (xpath) 更改因果圖中的文本編輯框
我認為您現有腳本的主要問題是第二個[一世]下標應該在括號之外:
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
obj = dt << Diagram( Y( :Child ), X( :Parent ) );
(obj << XPath("(//TextEditBox)"))[9] << Text Color("Red");
使用常量,您*可以*將下標直接放在 XPath 表達式中:
dt = Open( "$SAMPLE_DATA/Ishikawa.jmp" );
obj = dt << Diagram( Y( :Child ), X( :Parent ) );
(obj << XPath("(//TextEditBox)[9]")) << Text Color("Red");
但在你的情況下,它真的是發送一個<<下標(XPath(),i)給報告的消息。我假設你的下標dgram[i]是故意的 - 你有一個圖表對像數組嗎?
回复:使用 JSL (xpath) 更改因果圖中的文本編輯框您可能會探索可用於這些文本編輯框的屬性。 您可以通過右鍵單擊大綱框左側的顯示按鈕來快速、交互式地探索它們:
