Muy buenas tardes.
Necesito poder obtener el valor de una celda del xbrowse, la una acción de un botón.
El xbrowse muestra un listado de ingresos de caja, la idea es que se pueda actualizar cualquier ingreso, presionando un botón destinado para actualizar.
Muchos Saludos
Antonio
Codigo:
- Code: Select all Expand view
****** Boton destinado para actualiza la fila seleccionada en xbrowse
REDEFINE BTNBMP ID 4009 OF oDlg PROMPT "MODIFICA" TOOLTIP "MODIFICA INGRESO" FONT oFont1 ADJUST 2007;
ACTION (MsgStop("FOLIO CAJA : "+[oIngre:nArrayAt][nroCol]) // Aqui Boton Acepta
** MUESTRA INGRESOS DE CAJAS
REDEFINE XBROWSE oIngre DATASOURCE ALIAS(2) ;
COLUMNS;
"Fol_caj",;
OemToAnsi("Nom_pac"),;
"Tip_pag",;
"Tip_ate",;
"Tot_gen",;
"Med_tra",;
"Cod_dig",;
"Hor_dig";
HEADERS;
"Folio Caja",;
"Nombre de Paciente",;
"T. Pago",;
"T. Aten",;
"Valor Total",;
"Med.Tra.",;
"Digita",;
"H.Digita";
PICTURES "99999999","@!","@!","@!","9999,999,999","@!","@!","@!";
ID 104 OF oDlg;
FONT oFont1;
FOOTERS LINES CELL
oIngre:aCols[1]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
oIngre:aCols[3]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
oIngre:aCols[7]:bClrHeader := { || { CLR_HRED,CLR_WHITE } }
oIngre:nFooterLines:=1
oIngre:aCols[5]:bClrStd:= {|| if(&nro_usu3->Mod_bon = "N", {CLR_RED,CLR_WHITE}, {255, 0, 0}) }
oIngre:nMarqueeStyle := MARQSTYLE_HIGHLROW
oIngre:nColDividerStyle := LINESTYLE_INSET
oIngre:nRowDividerStyle := LINESTYLE_INSET
oIngre:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
oIngre:nOpacity := 230
oIngre:aCols[1]:cToolTip :="Haga doble Click para ordenar por Vale"
oIngre:aCols[3]:cToolTip :="Haga doble Click para ordenar por Tipo de Pago"
oIngre:aCols[7]:cToolTip :="Haga doble Click para ordenar por Digitadora"
oIngre:lAutoSort := .t.
oIngre:aCols[1]:cSortOrder := "&Nro_usu3"
oIngre:aCols[3]:cSortOrder := "&Nro_usu5"
oIngre:aCols[7]:cSortOrder := "&Nro_usu7"
oIngre:bClrStd := {|| { nRGB( 0, 0, 0), nRGB(255,248,220) } }
oIngre:bClrSelFocus := {|| { nRGB( 0, 0, 0), nRGB(137, 247, 33) } }
oIngre:aCols[3]:bClrStd:= {|| if(&nro_usu3->Mod_bon = "N", {CLR_WHITE,CLR_RED}, {CLR_BLACK,nRGB(255,248,220)}) }
oIngre:aCols[5]:bClrStd:= {|| if(&nro_usu3->Mod_bon = "S", {CLR_WHITE,METRO_TURQUE}, {CLR_BLACK,nRGB(255,248,220)}) }
oIngre:aCols[5]:bClrStd:= {|| if(&nro_usu3->Tot_Gen = 0, {CLR_WHITE,nRGB(237,9,32)}, {CLR_BLACK,nRGB(255,248,220)}) }
oIngre:l2007:=.t.
oIngre:lVScroll := .t.
oIngre:lFooter := .t.
oIngre:aCols[2]:cFooter := "TOTAL DEL DIA -->"
oIngre:aCols[2]:nFootStrAlign := AL_RIGHT
oCol := oIngre:AddCol()
oCol:AddResource("#10") // Vigente
oCol:AddResource("#8043") // Modificado
oCol:AddResource("#30") // Nulo
oCol:cHeader = "Estado"
oCol:bBmpData := { || IIF(&nro_usu3->Mod_bon = "V",1,If(&nro_usu3->Mod_bon = "S",2,3) )}
// oIngre:aCols[1]:bFooter := { || oIngre:nLen }
oIngre:aCols[01]:bFooter := { || Ltrim( Str( oIngre:KeyNo() ) ) + " / " + LTrim( Str( oIngre:KeyCount() ) ) }
oIngre:aCols[5]:bClrStd:= {|| if(b->Tip_Pag="EGRE", {CLR_WHITE,nRGB(237,9,32)}, {CLR_BLACK,nRGB(255,248,220)}) }
oIngre:aCols[05]:cEditPicture := "999,999,999"
oIngre:aCols[05]:nFooterType := AGGR_TOTAL
oIngre:aCols[04]:cEditPicture := "9999"
oIngre:aCols[04]:nFooterType := AGGR_COUNT
oIngre:bLDblClick := {||( IIF( &nro_usu3->Mod_bon = "S", MsgAlert("MODIFICADO POR: "+&nro_usu3->Cod_Usu,"Atención"), oIngre:Refresh() ) ,oIngre:Refresh() ) }
oIngre:MakeTotals()
oIngre:bChange := {|| oIngre:Maketotals() }