Para asegurarte que no entre en otra columna que la numero 6, crea una propiedad del form, por ejemplo lEntrar
En el lostfocus del textbox de la columna 1 poné
thisform.grid1.column6.setfocus
thisform.lEntrar = .f.
Y en el when de los textbox de las columnas 2,3,4 y 5 ponés
return thisform.lEntrar
Como está en falso, no va a entrar nunca en las col 2,3,4  y 5
Si luego que ingresó en la 6 necesitás que salte a cualquiera de las otras (2,3,4,5), volvés a setear lEntrar a .T. en el lostfocus del textbox de la 6 y también en dicho lostfocus le mandás un: thisform.grid1.column2.setfocus

Ahora bien, podría ser que aun asi te entre en la 1, porque las brujas no existen, pero que las hay las hay, entronces, para tener control absoluto, generá en el init de la columna 1( en el textbox) un propiedad del textbox asi
this.addproperty('lEntrarAqui',.t.) y en su when: return this.lEntrarAqui
Eso va a dejarte entrar en la 1 cuando asi lo desees. Pero cuando estás en la 6, si querés asegurarte de que no va a entrar en la 1 de ninguna forma, agregale al lostfocus (siempre en el textbox), thisform.grid1.column1.text1.lEntrarAqui = .f. En ese caso, estás forzando sin lugar a dudas que el cursor salte a la col 2 ( o a la que le mandaste el foco), sin entrar en la 1. Y cuando quieras volver a entrar en la col 1, simplemente mandale un .t. a thisform.grid1.column1.text1.lEntrarAqui

Parece confuso, pero si lo pensás, jugando con las propiedades del fom y de los textboxes y los métodos setfocus, lostfocus, when y valid de los textboxes, lográs todo el control que necesitás

Rafael Copquin


El 24/06/2013 08:27 a.m., Norberto Mario Alvarez escribió:

Estimados Colisteros, me estoy enloqueciendo con un tema, estoy insertando registros en una grilla, ingreso el código en la columna1 por primera vez perfectamente se va a la columna 6 como le indica el setfocus(), pero cuando vuelvo agregar otro registro ya no me respeta el setfocus() y se va a la columna 2. Lo mismo me hace cuando hago click en un botón, el cual me trae un buscador donde selecciono un regsitros, y hago un setfocus a una determinada columna de una grilla, se queda enfocado en el botón. Pregunta me está faltando algo, no le encuentro la vuelta. Desde ya muchas gracias por su atención .

*Norberto Alvarez*

*Socio # 1892*


Responder a