Clipper/FiveWin - AYUDA XBROWSE

 
Vista:
Imágen de perfil de Juan Morales
Val: 2
Ha mantenido su posición en Clipper/FiveWin (en relación al último mes)
Gráfica de Clipper/FiveWin

AYUDA XBROWSE

Publicado por Juan Morales (36 intervenciones) el 28/02/2020 12:15:35
Buenos dias amigos, necesito una orientacion , estoy cambiandp mis listbox por xbrowse, segui un ejemplo , funciona, pero tengo unas dudas .. no se si alguien en el foro pueda orientarme

ene l programa ejemplo tengp dos cosas

primero, a pesar que no uso el oCol:bEditBlock = { | oGet1, oCol | pBusCapCue(oGet1,oCol) }, en el GET me siguen apareciendo al lado el cuadrito con .. los puntitos esperando presionar la ayuda de busqueda, y es mas me dice que el editblock no esta asignado..

como hago para que ese cuadrito no me aparezco, y lo haga solo cuando lo necesito

segundo , tengo la function teclasi con un delete funciona me elimina la linea pero se queda el comando actvo para seguir eliminado tengo que darle no para que se salga , no se como hace para que salga automatico a la primera vez..



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
oBrw:lFastEdit              := .t.
*oBrw:bPastEof              := {|| Dbappend(), oBrw:GoLeft(), oBrw:Refresh(), oBrw:aCols[ 1 ]:Edit() }
oBrw:bKeyDown           :={ | nKey | Teclas(nKey,oBrw, oArchi) }
 
 
 
 oCol = oBrw:AddCol()
   oCol:bStrData     = { || oArchi->Carnet }
   oCol:cHeader      = "Carnet"
   oCol:nEditType    = EDIT_GET_BUTTON //EDIT_GET
  * oCol:bEditValid   = { | oGet1, oCol | pValCapCue(oGet1,oCol,oSay1) }
  * oCol:bEditBlock   = { | oGet1, oCol | pBusCapCue(oGet1,oCol) }
   oCol:bOnPostEdit  = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),), If( nKey == VK_RETURN, oArchi->carnet := xVal,) }
   oCol:nWidth       = 60
 
   oCol = oBrw:AddCol()
   oCol:bStrData     = { || oArchi->Dia1 }
   oCol:cHeader      = "Dia1"
   oCol:nEditType    = EDIT_GET_BUTTON //EDIT_GET
  * oCol:bEditValid   = { | oGet2, oCol | pValCapCos(oGet2,oCol) }
  * oCol:bEditBlock   = { | oGet2, oCol | if (d_captu->VlCos=.t.,pBusCapCen(oGet2,oCol),"")}
   oCol:bOnPostEdit  = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),), If( nKey == VK_RETURN, oArchi->Dia1 := xVal,) }
   oCol:nWidth       = 40
 
   oCol = oBrw:AddCol()
   oCol:bStrData     = { || oArchi->Dia2 }
   oCol:cHeader      = "Dia2"
   oCol:nEditType    = EDIT_GET_BUTTON //EDIT_GET
 *  oCol:bEditValid   = { | oGet3, oCol | pValCapTer(oGet3,oCol,oSay2) }
 *  oCol:bEditBlock   = { | oGet3, oCol | pBusCapTer(oGet3,oCol) }
   oCol:bOnPostEdit  = { | oCol, xVal, nKey | If( RecCount() == 0, ( DbAppend(), oBrw:Refresh() ),), If( nKey == VK_RETURN, oArchi->Dia2 := xVal,) }
   oCol:nWidth       = 40
 
   oCol = oBrw:AddCol()
   oCol:bStrData     = { || oArchi->Dia3 }
   oCol:cHeader      = "Dia3"
   oCol:cFooter      = "TOTALES GENERALES --------------->"
   oCol:nEditType    = EDIT_GET_BUTTON //EDIT_GET
  * oCol:bEditValid   = { | oGet4, oCol | pValCapDes(oGet4,oCol) }
   oCol:bOnPostEdit = { | oCol, xVal, nKey | If( RecCount() == 0, DbAppend(),),;
                        If( nKey == VK_RETURN, oArchi->Dia3 := xVal ,) ,;
                        if( !lCtaOK(oBrw),(oBrw:GoLeftMost(), oBrw:GoBottom(),oBrw:Refresh()),;
                            if ( (oArchi)->(Recno())==(oArchi)->(Reccount()) , (DbAppend(), oBrw:GoLeftMost(),oBrw:GoBottom(), oBrw:Refresh()),) ) }
   oCol:nWidth       = 40
 
 
   oBrw:SetRDD()
   oBrw:CreateFromResource(181)
 
 
Function Teclas(nKey,oBrw, oArchi)
 * xcol:=alltrim(str(oBrw:nColSel-1)) // esto si funciona devuelve el nro de la columna desde 0 a 3
Do Case
   Case nKey == VK_DELETE
       if MsgNoYes("¿Está seguro(a) de borrar este registro?","Borrar este registro "+alltrim(oArchi->carnet))
           oArchi->(dbDelete())
           oArchi->(dbPack())
           oBrw:GoBottom()
           oBrw:Refresh()
       endif
EndCase
nKey:= ""
Return .t.
 
 
//-----------------------
Function lCtaOK(xVal)
if !catalogo->(dbSeek(xVal,.t.))
MsgStop("Codigo no existe","Alto")
return .f.
endif
Return .t.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder