¿Cómo realizo la ejecución del código hasta que el usuario selecciona el primer conjunto de datos para filtrar?Tengo una ventana para pedirle al usuario que filtre según los números de modelo que les gustaría elegir. El problema es que creo que esta ventana se está sobrescribiendo y está causando un error cuando se ejecuta completamente, por lo que me gustaría primero se detiene, muestra la ventana y espera a que el usuario ingrese sus opciones. Aquí está la secuencia de comandos de la ventana:
//*** Create a window to prompt user to filter for Model numbers they would like to use
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
nw1 = New Window( "2014 Product Filter", lb1 = List Box( prods ), Button Box( "OK", OKscript2014 ) );
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
Re: ¿Cómo realizo la ejecución del código hasta que el usuario selecciona el primer conjunto de datos para filtrar?Haga que la ventana sea modal, que detiene toda la ejecución del código hasta que se cierre la ventana. También deberá mover la definición de la secuencia de comandos en el botón en la ventana arriba de la ventana. Ejemplo:
prods = Associative Array( Column( dt2, "Product CFN" ) << getValues ) << getKeys;
OKscript2014 = Expr(
SelectedProds = lb1 << getSelected;
selectedRows = [];
For( p = 1, p <= N Items( SelectedProds ), p++,
selectedRows = V Concat( selectedRows, dt2 << getRowsWhere( :Product CFN == SelectedProds[p] ) )
);
dt5 = dt2 << Subset( Rows( selectedRows ), LinkToOriginalDataTable( 0 ) );
Wait( 0 );
dt5 << Save( dir || "\PrimaryRFR_ProductFiltered_2014.jmp" );
);
nw1 = New Window( "2014 Product Filter", <<MODAL></MODAL>
Re: ¿Cómo realizo la ejecución del código hasta que el usuario selecciona el primer conjunto de datos para filtrar?¡Gracias! ¿Hay también una manera de hacer que esta ventana quede al frente y centrada para el usuario? ¿Para que no se muestre en otra tabla de datos?
Un cordial saludo,
ZachRe: ¿Cómo realizo la ejecución del código hasta que el usuario selecciona el primer conjunto de datos para filtrar?Una ventana modal siempre debe estar en la parte superior. Si tiene otras ventanas que se muestran sobre una ventana modal, le recomiendo que llame al soporte técnico. Una ventana no modal no siempre estará en la parte superior. Puede enviar una ventana no modal a la ventana << traer ventana al mensaje frontal.