Problema de codificación dinámicaHola,
Buscando consejos sobre cómo hacer mi guión más dinámico.
Dado el fragmento a continuación, tenemos una tabla de datos << Obtener como informe que agregamos a un Col Box() con botones dinámicos.
Ahora bien, aquí está el problema. Necesito colocar una cantidad X de tablas de datos en mi ventana y no estoy seguro de cómo hacerlo, ya que también necesito agregar botones dinámicos a cada tabla.
La cantidad exacta de tablas de datos puede variar.
Gracias por la ayuda
data_window = New Window("Down Time Exceeding 5mins",
<< Size Window( 1000, 600 ),
H List Box(
OutLine Box ("foo",
dt_Rpt = dt_dt << Get as Report();
)
)
);
tb = dt_Rpt[Table Box( 1 )];
tb << append(
bb = col box("Pull Alarms")
);
bblist = {};
for (i = 1, i<=N Rows(dt_dt), i++,
bb_expr = evalinsert("\[bblist[i] = buttonbox("Pull Alarms",
tb << Set Selected Rows(Matrix({^i^}));
dt = Get Data Table( "foo Alarms for rows " || char(^i^));
dt << ShowWindow( 1 );
dt << Bring Window To Front;
)]\");
eval(parse(bb_expr));
bb << append(bblist[i]);
);Automatización y scriptingRe: Problema de codificación dinámicaCrea una función para generar una tabla de datos con botones:
Define Function( Create_Data_Table_With_Buttons( dt_name, window_title ),
dt_Rpt = dt_name << Get as Report();
tb = dt_Rpt[Table Box( 1 )];
tb << append(
bb = col box("Pull Alarms")
);
bblist = {};
for (i = 1, i <= N Rows(dt_name), i++,
bb_expr = evalinsert("\[bblist[i] = buttonbox("Pull Alarms",
tb << Set Selected Rows(Matrix({^i^}));
dt = Get Data Table( "^window_title^ Alarms for rows " || char(^i^));
dt << ShowWindow( 1 );
dt << Bring Window To Front;
)]\");
eval(parse(bb_expr));
bb << append(bblist[i]);
);
return dt_Rpt;
);
Cree una lista de nombres de tablas de datos y sus títulos de ventana correspondientes:
data_table_info = {
{"dt_1", "Down Time Exceeding 5mins"},
{"dt_2", "Another Data Table1"},
{"dt_3", "Another Data Table2"}
};
Utilice un bucle para crear varios cuadros OutLine con tablas de datos y botones:
data_window = New Window("Multiple Data Tables",
<< Size Window( 1000, 600 ),
H List Box(
V List Box(
for(i = 1, i <= N Items(data_table_info), i++,
OutLine Box(data_table_info[i][2],
Create_Data_Table_With_Buttons(
Eval(data_table_info[i][1]),
data_table_info[i][2]
)
)
)
)
)
);
Espero que ayude.
Re: Problema de codificación dinámica¿Es posible que estés viendo algo como esto?
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
data_window = New Window("Down Time Exceeding 5mins",
<<SIZE window=""></SIZE>Re: Problema de codificación dinámica¡Gracias! Ni siquiera pensé en usar varias funciones. Pensé que tal vez tendría que crear una cadena gigantesca para analizar, pero esto funcionó perfectamente.
Tengo una función que crea las tablas de datos para cada cadena en mi lista de consulta. Luego paso el dt a otra función que
agrega Lbox que crea el informe en mi ventana
window = expr(
nw = New Window("Down Time Exceeding 5mins",
<< Size Window( 1500, 800 ),
Lbox = Line Up Box(Spacing(5),
N Col(3),
)
);
);
eval(window);
nw <