tamaño renglones xbrowse

Post Reply
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

tamaño renglones xbrowse

Post by Francisco Horta »

hola foro,

Me inetersa tener de diferenetes tamaños en renglones en un xbrowse, ya que en _ algunos productos tienen algunas notas( color rojo y este campo es un MEMO), por lo tanto el tamaño puede variar, alguna idea de como hacerlo?
adjunto imagen como me gustaria que quedara, (el producto + notas un solo renglon)

Image

Uploaded with ImageShack.us

gracias
paco
____________________
Paco
El Loco
Posts: 220
Joined: Fri May 19, 2006 4:08 pm

Re: tamaño renglones xbrowse

Post by El Loco »

Francisco en "Samples" fíjate en Testmerg.prg. Ahi hace lo que vos queres.
Un abrazo.
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: tamaño renglones xbrowse

Post by Francisco Horta »

Gracias Loco,
le echare un vistazo
salu2
paco
____________________
Paco
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: tamaño renglones xbrowse

Post by Francisco Horta »

parece que no me funciono :-(

alguna otra sugerencia??
saludos
paco
____________________
Paco
User avatar
Rick Lipkin
Posts: 2397
Joined: Fri Oct 07, 2005 1:50 pm
Location: Columbia, South Carolina USA

Re: tamaño renglones xbrowse

Post by Rick Lipkin »

Loco, Francisco

I am following this thread with much interest .. I posted a thread similar to this question in the English Forum and Rao helped in creating a function to AutoSize a row based on the character depth of the Memo column .. unfortunately, the depth of the column once set .. would not resize based on the actual depth of the Memo column of each row ..

http://forums.fivetechsupport.com/viewt ... 95#p114995

I tested my code and added the two columns I wanted merged like in the .. TestMerg.prg sample :

// Following two lines for vertical cell merging
oBrw:Customer:lMergeVert := .t.
oBrw:Description:lMergeVert := .t.

But it did not work :(

Rick Lipkin

Code: Select all

oRsReq:Filter := ""
oRsReq:Filter := "datereceived = null and datecancelled = null"

lOK := .F.
DEFINE ICON oICO RESOURCE "CLIENTS"

DEFINE WINDOW oWnd1                        ;
      FROM 0,0 to 35,100                   ;
      TITLE cTITLE                         ;
      MENU Buildmenu( oRsReq )             ;
      ICON oICO                            ;
      NOSYSMENU                            ;
      NOMINIMIZE                           ;
      NOZOOM                               ;
      MDICHILD

@ 0, 0 xBROWSE oBrw of oWnd1               ;
       RECORDSET oRsReq                    ;
       COLUMNS "PARTDESC",                 ; // insert for stock
               "CPHONE1",                  ;
               "VENDOR",                   ;
               "VPHONE1",                  ;
               "BIN",                      ;
               "STOCKNO",                  ;
               "DATEREQUESTED",            ;
               "DATEORDERED",              ;
               "DATESHIPPED",              ;
               "DATERECEIVED",             ;
               "DATECANCELLED",            ;
               "REQUESTNO"                 ;
       COLSIZES 138,75,100,75,33,80,65,65,65,65,65,65;
       HEADERS "Description",              ; // insert for stock
               "CustPhone",                ;
               "Vendor",                   ;
               "VendPhone",                ;
               "Bin",                      ;
               "Part Number",              ;
               "Requested",                ;
               "Ordered",                  ;
               "Shipped",                  ;
               "Received",                 ;
               "Cancelled",                ;
               "Request"                   ;
       AUTOSORT AUTOCOLS LINES CELL

       oWnd1:oClient := oBrw

   *   oBrw:nRowHeight := 45

    ADD oCol TO oBrw AT 1 DATA {|x| x := _ChkCust(oRsReq:Fields("clname"):Value,;
                oRsReq:Fields("cfname"):Value)  } HEADER "Customer" size 110

       oBrw:lFooter   := .t.
       oCol           := oBrw:aCols[ 1 ]
       oCol:bFooter   := { || Ltrim( Str( oBrw:KeyNo() ) ) + " / " + LTrim( Str( oBrw:KeyCount() ) ) }
       oCol:cHeader   := "Customer"
       oBrw:bChange   := { || oCol:RefreshFooter() }

       ADD oCol TO oBrw AT 8 DATA {|x| x := _ChkStock(oRsReq:Fields("OutOfStock"):Value)  } HEADER "For Stock" size 55

       oCol := oBrw:aCols[ 9 ]
       oCol:bStrData := { |x| x := if(oRsReq:eof,,oRsReq:Fields("DateRequested"):Value), If( Empty(x), '00/00/0000',DToC(x) ) }

       oCol := oBrw:aCols[ 10 ]
       oCol:bStrData := { |x| x := if(oRsReq:eof,,oRsReq:Fields("DateOrdered"):Value), If( Empty(x), '00/00/0000',DToC(x) ) }

       oCol := oBrw:aCols[ 11 ]
       oCol:bStrData := { |x| x := if(oRsReq:eof,,oRsReq:Fields("DateShipped"):Value), If( Empty(x), '00/00/0000',DToC(x) ) }

       oCol := oBrw:aCols[ 12 ]
       oCol:bStrData := { |x| x := if(oRsReq:eof,,oRsReq:Fields("DateReceived"):Value), If( Empty(x), '00/00/0000',DToC(x) ) }

       oCol := oBrw:aCols[ 13 ]
       oCol:bStrData := { |x| x := if(oRsReq:eof,,oRsReq:Fields("DateCancelled"):Value), If( Empty(x), '00/00/0000',DToC(x) ) }

       oBrw:aCols[ 2 ]:cDataType := "M"  // description

       // Following two lines for vertical cell merging
       oBrw:Customer:lMergeVert       := .t.
       oBrw:Description:lMergeVert    := .t.

       oBrw:bRClicked  := { | nRow, nCol | ShowPopup(oBrw,nROW,nCOL,;
                                           oRsReq,oBtn1,oBtn2,oBtn3,oBtn4,oBtn5,oBtn6 ) }
       oBrw:bLDblClick := { |nRow,nCol | _ReqView( "V", oRsReq,oBtn1,oBtn2,oBtn3,oBtn4,oBtn5,oBtn6,oWndFind) }
       oBrw:bKeyDown   := { |nKey| _Manual( nKey,oRsReq,oBtn1,oBtn2,oBtn3,oBtn4,oBtn5,oBtn6,oBrw ) }

       oBrw:bClrStd := {|| {CLR_BLACK, if( _CHkClosed(oRsReq) , RGB(179,203,204), CLR_WHITE ) } }

       oBrw:CreateFromCode()

ACTIVATE WINDOW oWND1 ;
         ON INIT( oBrw:SetFocus(), .F. ) ;
         VALID ( IIF( !lOK, ReqClose(.T.,oWnd1,oRsReq,oBar1,oBar2 ), .F. ))

Return(nil)
 
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: tamaño renglones xbrowse

Post by Francisco Horta »

Rick,
No se como explicarlo en ingles, pero creo es imposible hacerlo asi, ya que son 2 campos de un mismo registro tomandolos como un solo campo de un solo registro y poniendo el alto de la fila se ajuste automaticamente, entonces aqui el detalle es que cada registro puede tener alturas diferentes, aaaa y otra cosa, como es un campo MEMO que se ajustara el memo al ancho de la columna,,, ups lo voy a tener que solucionar poniendo un say y cada que recorra un registro ir actualizando ese sey que seria el campo MEMO,,,
saludos
paco
____________________
Paco
User avatar
MarioG
Posts: 1356
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: tamaño renglones xbrowse

Post by MarioG »

Paco;
interesante el tema, aunuqe no puedo aportar una solución :oops: , por favor no dejes de postear si lo consigues

muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
User avatar
pablovidal
Posts: 398
Joined: Thu Oct 06, 2005 10:15 pm
Location: Republica Dominicana
Contact:

Re: tamaño renglones xbrowse

Post by pablovidal »

Verificaste el ejemplo /fwh/samples/TestXbr6.prg
Saludos,

Pablo Alberto Vidal
/*
------------------------------------------------------
Harbour 3.2.0, Fivewin 17.02, BCC7
------------------------------------------------------
*/
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: tamaño renglones xbrowse

Post by Francisco Horta »

Pablo
si lo vi y probe, funciona a medias, ya que el datalines no he podidio ajustarlo automaticamente calculando las lineas del campo memo, cada registro deberia tener un alto diferente del renglon y no he dado como hacerlo..
salu2
paco
____________________
Paco
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: tamaño renglones xbrowse

Post by Francisco Horta »

si existiera una datalines por cada row seria estupendo,,, asi le das exactamente el alto a cada fila
de hecho asi tengo mi xbrowse,nada del otro mundo

aoCols[2]:bStrData := { || ::oQryMesa:FieldGet("nombre") + CRLF + ALLTRIM(::oQryMesa:FieldGet("comentarios")) }

salu2
paco
____________________
Paco
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: tamaño renglones xbrowse

Post by Raymundo Islas M. »

Paco,

Me uno a los que nos interesa alguna solucion a este tema.

De momento, lo que hice fue hacerle un split al texto largo para poner varias lineas y usar colores para distinguir los renglones.

En mi caso lo estoy aplicando para un pequeño y limitado chat entre terminales.

Image

Saludos

PD : Por lo que veo, para que se te vaya el tren va a estar cañon.... ya que no lo sueltas para nada !!! jejeje
FWH 10.6 + xHarbour + Borland 582
User avatar
RenOmaS
Posts: 205
Joined: Fri Oct 07, 2005 5:07 pm

Re: tamaño renglones xbrowse

Post by RenOmaS »

No he testado esto, pero puede funncionar, no tengo como probarlo.
Adiciona una data a la clase xbrowse

Code: Select all

     DATA lMultiHeight      INIT .F.   //NEW
Modifica o metodo DataHeight de la xbrowse

Code: Select all

  
 METHOD DataHeight( nAux )   INLINE If( ::lMultiHeight, ( nAux := 0, ;   //NEW
                                                          AEval ( ::aCols, { | o,n ] Max( nAux, o:DataHeight() ) } ), ; //Para traer la celda mas alta. //NEW
                                                          ::nRowHeight := nAux ), ), ; //asignamos el nRow. //NEW
                                         ::nRowHeight - iif(::nRowDividerStyle > LINESTYLE_NOLINES, 1, 0) - ;
                                         If(::nRowDividerStyle >= LINESTYLE_INSET, 1, 0)
 
Despues en tu prg haces.

Code: Select all

oXbr:lMultiHeight := .T.

Ahora esto creo que es mejor poner en el on init del dialog..puedes testar.

Seguro que en algun lado tenemos que recalcular el nMaxRows que es el maximo de lineas a pintar.
Pero por ahi debe ir los tiros.. Voy a testar cuando regrese de vagaciones :D.
Saludos/regards
RenOmaS

skype: americo.balboa
User avatar
Raymundo Islas M.
Posts: 590
Joined: Tue Mar 14, 2006 11:34 pm
Location: Acapulco, Gro. MEXICO

Re: tamaño renglones xbrowse

Post by Raymundo Islas M. »

RenOmaS,

Como ya he comentado anteriormente, las clases y todo lo relacionado nomas no se llevan conmigo :cry:

Pero creo que hace falta algo que "lea" el contenido de la celda para calcular el alto de la misma.
Si estoy equivocado, disculpa mi comentario.

Ojala los gurus del foro, encuentren alguna solucion a esto.

Saludos
FWH 10.6 + xHarbour + Borland 582
Post Reply