Tengo esta GUI y tengo filas que hice
Lo que estoy haciendo es usar un controlador de estado de fila para detectar cuándo alguien selecciona formas asignadas en un gráfico.
Eso muestra qué filas seleccionaron realmente.
Ahora también tengo 2 "formas de mapa" auxiliares en ese gráfico. cuando seleccionan algo en el gráfico principal, también necesito resaltarlo en los gráficos auxiliares.
Entonces, este es mi código, y quiero que se seleccione para que se actualice en vivo para que sea 1 o 2, de modo que pueda seguirlo con otras pocas líneas que digan:
obtenga helper_rows que tengan el mismo nombre clave que las filas seleccionadas y selecciónelos también para que el usuario sepa que están relacionados y luego pueda obtenerlos para un subconjunto que está en mi próximo paso.
entonces mi plan:
1. Obtenga una lista de todas las filas en la tabla. Tiene que haber una mejor manera que esta...
all_rownums = subset_JMP_Master_Table << GetRowsWhere (:Name != -99999);
2. dentro del controlador de estado de fila: obtener filas seleccionadas
3. restar las filas seleccionadas de la lista total de filas? Obtenga 2 listas: 1 que son filas seleccionadas y la otra que son filas que no están seleccionadas.
4. Asigne el indicador seleccionado como 1 o 2 a la columna seleccionada.
5. Filas auxiliares de búsqueda basadas en el nombre clave + columna seleccionada = 1
6. Seleccione también las filas auxiliares y subdivida todo para los siguientes pasos.
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
);
También puede utilizar la sintaxis 1::n para producir una matriz:
subset_JMP_Master_Table=current data table();
b = 1::nrows(subset_JMP_Master_Table);
Creo que puedes obtener tu matriz rownum con
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