Page 1 of 1

Número de registro en xbrowse

Posted: Tue Oct 20, 2009 8:22 am
by groiss
Por mas vueltas que le doy y ejemplos que miro, soy incapaz de hacer que este xbrowse me muestre en una columna el número del registro, si alguien fuera tan amable de indicarme el camino...
Muchas gracias y un saludo

Code: Select all

   redefine XBROWSE oBrw id 1007 OF ownd1 ;
   COLUMNS "REG_SISAAD","DNI","APELLIDO","NOMBRE","REG_COMUNI",;
    "ANO_EXPEDI","DIRECCION","LOCALIDAD","COD_POSTAL",;
        "TELEFONO","DICTAMEN","FEC_VALORA","TEC_VALORA","FEC_IN_SOC",;
    "TEC_TRSOCI","FEC_FIR_PI","TEC_PIA",;
        "TEC_EST_EC","TEC_VAL_EC","GRADO_VALO","NIVEL_VALO","SELECTOR";
     HEADERS "SISAAD","NIF","Apellidos","Nombre","Nª Comun.","Año","Dirección","Localidad","C. Postal",;
        "Teléfono","Dictamen","Valoración","Valorador","I. Social","T. Social","PIA","Tec. Pia",;
        "Est. econ.","Tec. Estudio","Grado","Nivel","Selector";
   COLSIZES 150,90,200,100,150,;
        50,200,150,60,;
        90,300,60,150,60,;
        150,60,150,;
        60,150,30,30,110;
   on DBLCLICK (empleado(sisaad->(recno())), obrw:refresh(),obrw:setfocus());
   font ofont ;
   AUTOSORT alias "sisaad" FOOTERS LINES CELL ;
   BACKGROUND aGrad VERTICAL
 

Re: Número de registro en xbrowse

Posted: Tue Oct 20, 2009 2:16 pm
by Pedro
Debo suponer que el número del registro que quieres es reg_sisaad y es tipo numérico, tan sólo ponlo como carácter, Str(reg_sisaad). A mi me ha pasado con igual con _ numéricos.

Re: Número de registro en xbrowse

Posted: Tue Oct 20, 2009 3:26 pm
by groiss
Gracias Pedro, pero al número de registro que me refiero es (alias)->(recno())
Un saludo y muchas gracias
José Luis

Re: Número de registro en xbrowse

Posted: Tue Oct 20, 2009 4:36 pm
by ADBLANCO
Si trabaja igual a la clase twbrowse, lo que te despliega por pantalla es una imagen del archivo, por lo que al hacer dblclick no necesariamente estás en el registro seleccionado

Re: Número de registro en xbrowse

Posted: Tue Oct 20, 2009 6:07 pm
by Pedro
Discúlpame groiss, creí haber entendido que el registro ( recno() ) era una de las columnas del xBrowse, según lo que tu dices en el enunciado...."soy incapaz de hacer que este xbrowse me muestre en una columna el número del registro",.

Si lo que quieres es que te muestre una columna con el recno debes poner la columna con un nombre de cabecera o sin él.
COLUMN Str(base->recno())
HEADERS " "
Así pondrás el número de registro, da lo mismo que lo pongas al principio, en medio o al final, pero has de crear esa columna.
Si he entendido bien ahora, porque no explicas muy bien si lo que quieres es que el xbrowse muestre esa columna, se muestre el registro en algún otro lado, o donde lo quieres mostrar.

Re: Número de registro en xbrowse

Posted: Tue Oct 20, 2009 6:21 pm
by ADBLANCO
Esto es con la clase TwBrowse

Code: Select all

          REDEFINE LISTBOX  oLbx                                ;
                   FIELDS   ALLTRIM(STR(TTMP -> EXPEDIENTE,10,0)),;
                            " "+TTMP -> INSTANCIA  + CRLF +         ;
                            " "+TTMP -> DEMANDANTE + CRLF +         ;
                            " "+TTMP -> DEMANDADO                   ,;
                            str(ttmp->(recno()),10,0)                 ;
                   ALIAS   "TTMP"                               ;
                   HEADERS "Expediente"," Instancia / Demandante / Demandado","";
                   MESSAGE cMENSAJE                             ;
                   FIELDSIZES 68,360,68 ID 401   OF oDlg
          oLbx:Set3DStyle()
          oLbx:nFreeze       :=  3    // Congela hasta la columna
          oLbx:Ajustify      := {2,0,0,0} // Justificado de Columnas 0=izq, 1=Der, 2=Cent
          oLbx:lAdjLastCol   := .t.   // ajusta la ultima columna
          oLbx:nHeaderHeight := 31    // Da la altura del header
          oLbx:nLineHeight   := 46    // Da la altura de la linea
          oLbx:bLDblClick    := {|| msgalert(str(ttmp->(recno()),10,0))}                           // doble click en el listbox

 

Re: Número de registro en xbrowse

Posted: Wed Oct 21, 2009 8:38 am
by groiss
Gracias Angel.
El tema es que quiero que aparezca el número de registro como una columna del xbrowse, y si lo hago como me comentas me muestra un error de array.
Por el momento lo hago así, pero no me parece que sea la solución:

Code: Select all

  redefine XBROWSE oBrw id 1007 OF ownd1 ;
   COLUMNS sisaad->(recno()),"REG_SISAAD","DNI","APELLIDO","NOMBRE","REG_COMUNI",;
    "ANO_EXPEDI","DIRECCION","LOCALIDAD","COD_POSTAL",;
        "TELEFONO","DICTAMEN","FEC_VALORA","TEC_VALORA","FEC_IN_SOC",;
    "TEC_TRSOCI","FEC_FIR_PI","TEC_PIA",;
        "TEC_EST_EC","TEC_VAL_EC","GRADO_VALO","NIVEL_VALO","SELECTOR";
   HEADERS "Nº","SISAAD","NIF","Apellidos","Nombre","Nª Comun.","Año","Dirección","Localidad","C. Postal",;
        "Teléfono","Dictamen","Valoración","Valorador","I. Social","T. Social","PIA","Tec. Pia",;
        "Est. econ.","Tec. Estudio","Grado","Nivel","Selector";
   COLSIZES 90,150,90,200,100,150,;
        50,200,150,60,;
        90,300,60,150,60,;
        150,60,150,;
        60,150,30,30,110;
   on DBLCLICK (empleado(sisaad->(recno())), obrw:refresh(),obrw:setfocus());
   font ofont ;
   AUTOSORT alias "sisaad" FOOTERS LINES CELL ;
   BACKGROUND aGrad VERTICAL

   obrw:nMarqueeStyle   :=4
   obrw:nColDividerStyle:=4
   oBrw:bClrRowFocus := oBrw:bClrSelFocus
  obrw:acols[1]:bStrData   := { || substr(STR(100000+sisaad->(RECNO()),6,0),2,5)}
 
Muchas gracias y un saludo