Page 1 of 1

Additem de un grid y hacer focus en el control TEXTBOX

Posted: Wed Mar 09, 2016 9:43 pm
by Ismach
Hola mis chichipios, estimados minigueros o estimados HMGueros, tengo un dilema que ya llevado del dolor de cabeza a los dolores de panza :lol:
resulta que tengo definido asi :arrow: :

Code: Select all

    DEFINE WINDOW vnmain AT 00, 00 ;
           WIDTH nWidth HEIGHT nHeight ;
           TITLE SISTEMA ;
           ICON 'MAINICO'  ;
           MAIN ;
           ON INIT Nil

           bla bla bla

           ON KEY CONTROL+INSERT    OF vnmain ACTION Noe_AddItemPedir()

           bla bla bla

            @050,003 GRID gdPed  ;
                     WIDTH 640 HEIGHT nHeight-105 ;
                     FONT "Consolas" SIZE 10 ;
                     HEADERS aPedGrid ;
                     WIDTHS { 250, 200, 200, 300 } ;
                     VALUE 1 ;
                     COLUMNCONTROLS { {'TEXTBOX','CHARACTER'}, ;
                                      {'TEXTBOX','CHARACTER'}, ;
                                      {'TEXTBOX','CHARACTER'}, ;
                                      {'TEXTBOX','CHARACTER'} };
                     DYNAMICFORECOLOR { fColor , fColor, fColor, fColor} ;
                     ON DBLCLICK  Nil ;
                     ON GOTFOCUS  Nil

           bla bla bla
           bla bla bla
y la funcion que inserta

Code: Select all

FUNCTION Noe_AddItemPedir()

       LOCAL aNuevo := { 'nombre', 'dir', '000', '?' }
       LOCAL nNumIt := 0
       vnmain.gdPed.AddItem( aNuevo )
       vnmain.gdPed.SetFocus()

RETURN NIL
Lo que quiero hacer es que al presionar CONTROL+INSERT
no solo me agregue la fila nueva en la grilla sino que
1) el cursor o focus se posicione en la FILA INSERTADA
2) haga Setfocus en el 1er control 'TEXTBOX' de la primera columna para poder modificar el nombre
3) que al dar enter despues de cambiar el nombre pase al segundo control 'TEXTBOX' y asi ahsta el cuarto control TEXTBOX

Les mando un Saludo desde Salta - Argentina :D

Re: Additem de un grid y hacer focus en el control TEXTBOX

Posted: Wed Mar 09, 2016 10:44 pm
by Alepts
Creo que el 1 y 2 es lo mismo, lo harĂ­as con esto

Code: Select all

vnmain.gdPed.Value := {vnmain.gdPed.ItemCount, 1}
y no se si para el 3 funcione el SET NAVIGATION EXTENDED hoy lo vi en la guia pero no he experimentado con el :P

Re: Additem de un grid y hacer focus en el control TEXTBOX

Posted: Thu Mar 10, 2016 1:11 pm
by Ismach
Ok, No funciona en su totalidad, es decir, agrega la fila al grid y pone en Setfocus sobre la fila insertada, pero no sobre el control TEXTBOX de la primera CELDA, yo quisiera que la celda de la primera columna quedara ya en TEXTBOX, lista para empezar a modificar el contenido de la CELDA.
El SET NAVIGATION EXTENDED, ya lo se habia agregado pero eso es para saltar entre los controles al ENTER,
Gracias

Re: Additem de un grid y hacer focus en el control TEXTBOX

Posted: Thu Mar 10, 2016 1:25 pm
by Ismach
Lo resolvi asi, defini el grid de esta manera:

Code: Select all

            @050,003 GRID gdPed  ;
                     WIDTH 640 HEIGHT nHeight-105 ;
                     FONT "Consolas" SIZE 10 ;
                     HEADERS aPedGrid ;
                     WIDTHS { 250, 200, 200, 300 } ;
                     VALUE 1 ;
                     EDIT INPLACE { {'TEXTBOX','CHARACTER'}, ;
                                    {'TEXTBOX','CHARACTER'}, ;
                                    {'TEXTBOX','CHARACTER'}, ;
                                    {'TEXTBOX','CHARACTER'} };
                     COLUMNWHEN {   { || This.CellValue >= ' ' } , ;
                                    { || This.CellValue >= ' ' } , ;
                                    { || This.CellValue >= ' ' } , ;
                                    { || This.CellValue >= ' ' } } ;
                     DYNAMICFORECOLOR { fColor , fColor, fColor, fColor} ;
                     ON DBLCLICK  Nil ;
                     ON GOTFOCUS  Nil
y cuando el usuario presione CONTROL+INSERT , se generarĂ¡ una fila en la grilla, con el focus sobre la misma y luego con un ENTER
edita la celda y salta entre celda con ENTER....
chas gracias y les mando un abrazo.