我有這個 GUI 並且我有我所做的行
我正在做的是使用行狀態處理程序來檢測何時有人選擇圖表中的映射形狀。
這顯示了他們實際選擇了哪些行。
現在我在該圖中也有 2 個助手「地圖形狀」。當他們在主圖中選擇某些內容時,我也需要在輔助圖中突出顯示它。
這是我的程式碼,我希望選擇即時更新為 1 或 2,這樣我就可以用另外幾行來跟進:
取得與所選行具有相同鍵名的 helper_rows 並選擇它們,以便使用者知道它們是相關的,然後我可以取得它們作為下一步中的子集。
所以我的計劃:
1.取得表格中所有行的清單必須有比這更好的方法...
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
2. 在行狀態處理程序內部:取得選定的行
3.從總行列表中減去選定的行? 取得 2 個清單:1 個是選定的行,另一個是未選定的行。
4. 將所選標誌指定為 1 或 2 至所選列。
5. 根據鍵名 + 所選列 = 1 尋找輔助行
6. 同時選擇輔助行並對整個內容進行子集化以供後續步驟使用。
subset_JMP_Master_Table << New Column( "selected",
Numeric
, Ordinal
,set each value(0)
);
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
//rows_in_subset_table = subset_JMP_Master_ Table << Select All Rows;
//show(rows_in_subset_table);
select_sync_rsh = subset_JMP_Master_Table << MakeRowStateHandler(
Function(
{a}
,if(
select_sync_script_on
,( //start doing things based on script
print(a);
r = subset_JMP_Master_Table << get selected rows;
Column(subset_JMP_Master_Table, "selected")[r] = 1;
q = subset_JMP_Master_Table << GetRowsWhere (:selected != 1);
Column(subset_JMP_Master_Table, "selected")[q] = 2;
)//end doing things based on script
)// end if
); //end function
);
您也可以使用語法1::n產生一個矩陣:
subset_JMP_Master_Table=current data table();
b = 1::nrows(subset_JMP_Master_Table);
我認為你可以得到你的 rownum 矩陣
subset_JMP_Master_Table=current data table();
all_rownums = index(1,nrows(subset_JMP_Master_Table));
subset_JMP_Master_Table << New Column( "selected", Numeric, Ordinal, set each value( 0 ) );
fhg = N Rows( subset_JMP_Master_Table );
all_rownums = subset_JMP_Master_Table << GetRowsWhere( :Name != -99999 );
//rows_in_subset_table = subset_JMP_Master_ Table << Select All Rows;
//show(rows_in_subset_table);
select_sync_rsh = subset_JMP_Master_Table << MakeRowStateHandler(
Function(
{a}
,
If(
select_sync_script_on
,
(//start doing things based on script
Print( a ) ;
subset_JMP_Master_Table:selected << Set Each Value( 2 ) ; // just blanket set everything to 2
curr_selected_rows = subset_JMP_Master_Table << get selected rows ; // get the selected rows
subset_JMP_Master_Table:selected[curr_selected_rows] = 1 ; //update the selected rows to 1
)//end doing things based on script
)// end if
); //end function
); //end row state handler