Resumo, tengo varios prg que usan una function que edita las columnas, pongo un ejemplo de factura :
- Code: Select all Expand view
- DEFINE DIALOG oDlg RESOURCE "HOJA" TITLE IIF( lNuevo,"AGREGAR" ,;
oemtoansi("MODIFICACION / CONSULTA Factura n§ ")+alltrim(transform(vnumero,"999,999")) )
REDEFINE GET gvfecha Var vfecha ID 102 OF oDlg
REDEFINE say gvnombre Var vnombre ID 114 OF oDlg
REDEFINE say gvref Var vref ID 116 OF oDlg
REDEFINE BROWSE oBrwt ID 103 of oDlg
oBrwT:bKeyChar = { | nKey, nFlags | (lineas(nkey),oBrwt:refresh(),ftotal(),gvtotal:refresh())}
oBrwT:bRClicked = {|nRow,nCol| copypaste(nrow,ncol,oBrwT)}
ADD COLUMN to oBrwt DATA (ctemporal)->cantidad HEADER "Ctd" size 40 picture "99,999"
ADD COLUMN to oBrwt DATA (ctemporal)->concepto HEADER "Articulo" size 400
ADD COLUMN to oBrwt DATA (ctemporal)->unitario HEADER "Precio" size 100 Picture "9,999,999.99" RIGHT
ADD COLUMN to oBrwt DATA (ctemporal)->importe HEADER "Total" size 100 Picture "9,999,999.99" RIGHT
REDEFINE get gvtotal Var vtotal ID 105 OF oDlg picture("9,999,999.99") when lverget
REDEFINE get gvtdto Var vtdto ID 108 OF oDlg picture("999.99") valid ftotal()
REDEFINE get gvdto Var vdto ID 109 OF oDlg picture("9,999,999.99") when lverget
REDEFINE get gvbase Var vbase ID 110 OF oDlg picture("9,999,999.99") when lverget
REDEFINE get gvtiva Var vtiva ID 111 OF oDlg picture("999.99") valid ftotal()
REDEFINE get gviva Var viva ID 112 OF oDlg picture("999,999.99") when lverget
REDEFINE get gvttotal Var vttotal ID 104 OF oDlg picture("9,999,999.99") when lverget
gvtotal:lDisColors= .f.
gvdto:lDiscolors=.f.
gvbase:lDiscolors=.f.
gvtiva:lDiscolors=.f.
gviva:lDiscolors=.f.
gvttotal:lDiscolors=.f.
REDEFINE BTNBMP aBoton[1] ID 113 RESOURCE "DATOS" OF oDlg;
tooltip oemtoansi("Datos Adicionales");
action (datosadicionales(),gvnombre:refresh())
REDEFINE BTNBMP aBoton[2] ID 504 RESOURCE "sumar" OF oDlg;
tooltip oemtoansi("A¤adir Linea");
action (lineas(1),oBrwt:refresh())
REDEFINE BTNBMP aBoton[8] ID 107 RESOURCE "pgup" OF oDlg;
tooltip oemtoansi("Insertar Linea");
action (lineas(19),oBrwt:refresh())
REDEFINE BTNBMP aBoton[3] ID 505 RESOURCE "restar" OF oDlg;
tooltip oemtoansi("Borar Linea");
action (lineas(2),oBrwt:Refresh())
REDEFINE BTNBMP aBoton[4] ID 506 RESOURCE "cambIar" OF oDlg;
tooltip oemtoansi("Modificar Linea");
action (lineas(13),oBrwt:Refresh())
REDEFINE BTNBMP aBoton[7] ID 106 RESOURCE "TEXTO" OF oDlg;
tooltip oemtoansi("Nuevo");
action (lineas(14),oBrwt:Refresh())
REDEFINE BTNBMP aBoton[9] ID 117 RESOURCE "TARIFA" OF oDlg;
tooltip oemtoansi("Acceso Tarifa");
action (ftarifas(1),ftotal(),oBrwt:gotop(),oBrwt:Refresh())
para editrar al pulsar intro
- Code: Select all Expand view
- vcantidad:=(ctemporal)->cantidad
oBrwt:lEditCol(1,@vcantidad,"9,999",,)
(ctemporal)->cantidad:=vcantidad
oBrwt: Refresh()
vconcepto:=substr((ctemporal)->concepto,1,58)
oBrwt:lEditCol(2,@vconcepto,,)
(ctemporal)->concepto:=vconcepto
oBrwt: Refresh()
vunitario:=(ctemporal)->unitario
oBrwt:lEditCol(3,@vunitario,"99,999.99",,)
(ctemporal)->unitario:=vunitario
y me gustaria hacer algo parecido, porque en otras partes del programa necesito consultar otras base de datos depende del valor, pero bueno con poder editarlo me conformaria.
Podrias hacerme los cambios necesarios para que funcionase, ya he probado casi todo.Gracias