Como simular un single line edit como un ddlbox

Hola experto esta es mi primera pregunta y espero obtenre respuestas.
La pregunta es la siguiente. Tengo una caja de texto en donde ingreso por decir el nombre y los apellidos de los alumnos.
La idea es que cuando ingrese los primeros caracteres de los apellidos me aparezca una lista de todos los alumnos cuyos apellidos enpiecen con los primeros caracteres ingresados en el sle.text.
observcion:todos los alumnos deben apareceer en el sle.text
Borrar
Respuesta
1
Vos mencionás un listBox y un sle para realizar una determinada funcionalidad que en PB se implementa más fácil, rápida y eficientemente con una datawindow.
Yo voy a asumir que lo que te interesa es el resultado final y no usar lo que indicás, si me equivoco escribime de nuevo que usamos los elementos que decís.
1. Creá una dw que tenga los campos que querés mostrar ej. código, apellido y nombre
2. Creá una dw externa con un campo ej. alumno
2.1 al campo alumno hacelo dropdown dw y asociale la dw que creaste en 1 (indicando el data column y el display column)
3. En la ventana insertá un control dw y asociale la dw de 2
4. En el open de la ventana asociales el transaction object a la dw e insértale una fila (si la ejecutás debieras ver todos los estudiantes en el desplegable) //esto te evita tener que cargar los datos de los estudiantes de a uno con un cursor como tendrías que hacerlo de usar un sle/ddll
5. En el open de la ventana hacé un getchild() del desplegable que tenés en la dw//la función getchild permite obtener el desplegable de estudiantes en una variable del tipo datawindowchild (ej: dwc_estudiantes) que vas a usar para la búsqueda dinámica
6. En el evento itemchanged del control dw codificá esto:
if not isnull(data) then
ls_filtro = "apellido = " + data +"%"
else
ls_filtro = ""
end if
dwc_estudiantes.setfilter(ls_filtro)
dwc_estudiantes.filter()
7.Ahora al escribir en el campo debe filtrarte los estudiantes que empiecen con lo que vas escribiendo
Notas:
Chequeá el error después del getchild para asegurarte que dwc_estudiantes tiene valor, sino no te va a andar (podes ver además que dwc_estudiantes. rowcount() > 0)
Dwc_estudiantes debe ser de INSTANCIA
El código que puse para el itemchanged esta simplificado y lo escribí de memoria pero debiera andar
Ante cualquier duda con los puntos escribime
El like es case sensitive

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas