¿Cómo ingresar y pasar datos desde List Box?Hola,
Me gustaría proporcionar una lista de parámetros o variables desde el nivel de la ventana (por ejemplo, copiados de Excel) y pasar esta lista (por ejemplo, haciendo clic en Aceptar) para crear otra lista para una consulta SQL. ¿Puedo hacer eso con algún tipo de cuadro de lista (algo como en la imagen de abajo)? ¿Qué otros métodos podrían usarse para hacer eso? Atentamente.

secuencias de comandosRe: ¿Cómo ingresar y pasar datos desde List Box?Hola, lo siento por la respuesta tardía. Esto es exactamente lo que quería implementar. Muchas gracias. Atentamente
Re: ¿Cómo ingresar y pasar datos desde List Box?A continuación se muestra un ejemplo. Cree una función (parsePaste en el ejemplo) para manejar la entrada y hacer las modificaciones que desee: eliminar duplicados, reemplazar cambios de fila con algo, eliminar separadores duplicados... Después de presionar Aceptar, esto devolverá una cadena, luego puede modificar la cadena devuelta para que se ajuste a su SQL (Words() y Concat Items() como ejemplos).
Names Default To Here(1);
parsePaste = function({tempStr}, {Default Local},
tempStr = Regex(tempStr, "\r\n", ",", GLOBALREPLACE); //replace row changes with ,
tempStr = Substitute(tempStr, ",,", ","); //replace double ,, with one ,
tempStr = Regex(tempStr, ",$", "", GLOBALREPLACE); //remove , if last character
return(tempStr);
);
win2 = New Window("Example", << Modal,
V List Box(
Text Box("Add Serialnumbers:"),
teb = Text Edit Box("", << set width(200), << set nlines(3),
<< Set Function(Function({this},
this << set text(parsePaste(this << get text));
))
),
H List Box(
Button Box("OK", listStr = teb << get text),
Button Box("Cancel")
)
)
);
show(listStr);
temp = Words(listStr, ",");
temp = "'" || Concat Items(temp, "','") ||"'";
show(temp);
Re: ¿Cómo ingresar y pasar datos desde List Box?Hola,
gracias por las sugerencias Me gustaría poder copiar números de serie desde algún lugar y luego pasarlos usando la función de análisis, por lo que la opción 2 y junto con la ventana modal. Lo intentaré con el cuadro de edición de texto.
Atentamente
Re: ¿Cómo ingresar y pasar datos desde List Box?Un par de preguntas/ideas para ponerte en marcha:
- ¿Quiere que el usuario seleccione los números de serie interesantes de una lista creada previamente? Podrías usar el cuadro de lista
- ¿Le gustaría que el usuario pueda copiar y pegar números de serie desde algún lugar que se convertirá a consulta SQL? Puede usar el cuadro de edición de texto con una función de análisis.
- Posiblemente ambos de arriba? Lo más probable es que trate de evitar esto, ya que si el usuario está copiando y pegando valores desde algún lugar, puede hacer la selección que ya está allí y lo que quiere que se incluya.
- ¿Quieres usar modal?
Verifique el índice de secuencias de comandos para: Modal (cómo crear una ventana modal), cuadro de lista, cuadro de edición de texto, elementos Concat (cómo convertir la lista JMP en una cadena)
Ejemplo rápido con el cuadro de lista que establecerá el valor del cuadro de texto debajo del botón Aceptar e imprimirá los valores seleccionados como una lista para registrar cuando se presione Aceptar:
Names Default To Here(1);
serialList = {"a1", "b2", "c3", "d4"};
win2 = New Window("Example",
V List Box(
lb = List Box(serialList, width(200), nlines(6)),
Button Box("OK", Show(lb << get selected); tb << Set Text(char(lb << get selected))),
tb = Text Box("");
)
);
