
Problema con ENTER como TAB
Publicado por Rhoy (7 intervenciones) el 10/11/2012 00:12:21
Hola a todos tengo el siguiente problema:
Tengo una lista de datos (dw_lista) con 4 columnas para actualizar: id_cliente, nombre, telefono y saldo.
Estoy incluyendo nuevos datos y uso la tecla ENTER como si fuera TAB. Tengo un evento ue_enterkey de tipo pbm_dwnprocessenter con el siguiento código:
Me funciona muy bien para avanzar por cada columna como si fuera el TAB. Sin embargo, cuando llega a la ultima columna y le pido que incluya nueva fila y vaya a la primera columna:
Incluye bien la nueva fila, se posiciona un la nueva fila pero por alguna razón no se queda en la primera columna y siempre va a la siguiente ("nombre").
Alguna idea de lo que no estoy haciendo bien, hasta pensé en enviar un shift-tab para retroceder pero sería un salto más en la aplicación.
Sugerencias?
YA LO SOLUCIONÉ !!! Paso mi solución por si alguien quiere probar:
Tengo una lista de datos (dw_lista) con 4 columnas para actualizar: id_cliente, nombre, telefono y saldo.
Estoy incluyendo nuevos datos y uso la tecla ENTER como si fuera TAB. Tengo un evento ue_enterkey de tipo pbm_dwnprocessenter con el siguiento código:
1
2
Post( Handle(this),256,9,0 )
Return 1
Me funciona muy bien para avanzar por cada columna como si fuera el TAB. Sin embargo, cuando llega a la ultima columna y le pido que incluya nueva fila y vaya a la primera columna:
1
2
3
4
5
6
// Insertar un Nuevo Registro
this.InsertRow(0)
// Ubicarse en el nuevo Registro y en Columna de Inicio
this.SetRow( this.RowCount() )
this.SetColumn( "id_cliente" )
Incluye bien la nueva fila, se posiciona un la nueva fila pero por alguna razón no se queda en la primera columna y siempre va a la siguiente ("nombre").
Alguna idea de lo que no estoy haciendo bien, hasta pensé en enviar un shift-tab para retroceder pero sería un salto más en la aplicación.
Sugerencias?
YA LO SOLUCIONÉ !!! Paso mi solución por si alguien quiere probar:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Si la columna de lectura es la ultima
if ib_incluyendo AND is_colfin = this.GetColumnName() then
Long ll_row
// Inserto nueva fila
ll_row = this.InsertRow(0)
// Me posiciono en nueva fila
This.ScrollToRow (ll_row)
// Ubicarse en Columna de Inicio
this.SetColumn( is_colini )
// Desmarcar Filas Seleccionadas
dw_lista.SelectRow( 0, FALSE )
else
Post( Handle(this),256,9,0 )
end if
Return 1
Valora esta pregunta


1