Ich habe diese GUI und ich habe Zeilen, die ich erstellt habe
Ich verwende einen Zeilenstatus-Handler, um zu erkennen, wenn jemand zugeordnete Formen in einem Diagramm auswählt.
Das zeigt, welche Zeilen sie tatsächlich ausgewählt haben.
Jetzt habe ich auch zwei Hilfskartenformen in diesem Diagramm. Wenn sie etwas im primären Diagramm auswählen, muss ich es auch in den Hilfsdiagrammen hervorheben.
Das ist also mein Code, und ich möchte ihn für die Live-Aktualisierung auf 1 oder 2 auswählen, damit ich ihm noch ein paar Zeilen hinzufügen kann, die lauten:
Holen Sie sich helper_rows, die den gleichen Schlüsselnamen wie die ausgewählten Zeilen haben, und wählen Sie sie ebenfalls aus, damit der Benutzer weiß, dass sie zusammenhängen, und ich sie dann für eine Teilmenge abrufen kann, die in meinem nächsten Schritt enthalten ist.
also mein Plan:
1. Liste aller Zeilen in der Tabelle abrufen. Es muss einen besseren Weg geben als diesen ...
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
2. innerhalb des Zeilenstatus-Handlers: Ausgewählte Zeilen abrufen
3. Die ausgewählten Zeilen von der Gesamtzeilenliste subtrahieren? Erhalten Sie 2 Listen: 1 mit ausgewählten Zeilen und die andere mit Zeilen, die nicht ausgewählt sind.
4. Weisen Sie der ausgewählten Spalte das ausgewählte Flag als 1 oder 2 zu.
5. Hilfszeilen basierend auf Schlüsselname + ausgewählter Spalte = 1 suchen
6. Wählen Sie auch die Hilfszeilen aus und teilen Sie das Ganze für die nächsten Schritte auf.
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
);
Sie können auch die Syntax verwenden 1::n So erstellen Sie eine Matrix:
subset_JMP_Master_Table=current data table();
b = 1::nrows(subset_JMP_Master_Table);
Ich denke, Sie können Ihre Rownum-Matrix mit bekommen
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