Página 1 de 1

Llenar un Tree en tiempo de ejecución.

Publicado: Vie Oct 17, 2008 7:13 pm
por MARIO DAVALOS
Hola a todos,
Como armo un Tree en tiempo de ejecución, esto es lo que estoy haciendo:
Creo el control oTree (TTreeView), genero un Metodo que me llene el Tree
despues que se realiza una Query:
WITH OBJECT ::oSQLQPaquetes
IF :lOpen
:Close()
ENDIF
:oDataSource := AppData:oDataSource
:cSelect := "SELECT ROW_ID,NAME,CONTRACTEDFROM,CONTRACTEDTO,STATE
FROM vAMContractedItems " + ;
"WHERE CParty_Id = " + cCliente + ;
" AND ROWTYPE = 'B' " + ;
"ORDER BY CONTRACTEDFROM DESC"
:Open()
DO WHILE ! Eof()
::oTreeProductos:AddItem( :NAME )
:Skip(1)
END DO
::oTreeProductos:Refresh()
:Close()
END
END
Segun yo el AddItem deberí­a crear los items del Tree pero no me hace nada.
Agradezco la ayuda de antemano.
Saludos,
Mario A. Dávalos
México, D.F.

Llenar un Tree en tiempo de ejecución.

Publicado: Vie Oct 17, 2008 10:32 pm
por Luis Cahisa
Hola Mario
Este es el codigo que yo uso con tablas dbf para armar el Tree, lo cual no
tiene incidencia sobre la carga de ttreeview.
No veo diferencia con el tuyo excepto por los dos puntos en el eof().
METHOD FormShow( oSender ) CLASS Lisclien
Local mitem, k, Aux
::clientes:open(.t.)
::clientes:gotop()
while !::clientes:eof()
::TVclientes:AddItem(Strzero(::clientes:codigo,4)+ ' '
+strzero(::clientes:listactu,2)+ ' ' + ::clientes:nombre,,,,.f.)
::clientes:skip()
enddo
::clientes:close()
RETURN Nil
Un saludo
Luis Cahisa
>
> DO WHILE ! Eof() ::oTreeProductos:AddItem( :NAME )
> :Skip(1)
> END DO
>
> ::oTreeProductos:Refresh()
>
> :Close()
>
> END
>
> END
>
> Segun yo el AddItem debería crear los items del Tree pero no me hace nada.
>
> Agradezco la ayuda de antemano.
>
> Saludos,
> Mario A. Dávalos
> México, D.F.

Llenar un Tree en tiempo de ejecución.

Publicado: Sab Oct 18, 2008 12:31 am
por MARIO DAVALOS
Luis,
Gracias por la respuesta, si ves mi codigo en general es el mismo, mi error
es que tengo ! Eof() en lugar de ! : Eof(), y como nunca entraba al DO WHILE
pues no agregaba los items del Tree.
Saludos,
"Luis Cahisa" <sistema@torassosa.com.ar> escribió en el mensaje de noticias
news:[email=48f8f674@ozsrv2.ozlan.local...]48f8f674@ozsrv2.ozlan.local...[/email]
> Hola Mario
> Este es el codigo que yo uso con tablas dbf para armar el Tree, lo cual no
> tiene incidencia sobre la carga de ttreeview.
> No veo diferencia con el tuyo excepto por los dos puntos en el eof().
>
> METHOD FormShow( oSender ) CLASS Lisclien
> Local mitem, k, Aux
> ::clientes:open(.t.)
> ::clientes:gotop()
> while !::clientes:eof()
> ::TVclientes:AddItem(Strzero(::clientes:codigo,4)+ ' '
> +strzero(::clientes:listactu,2)+ ' ' + ::clientes:nombre,,,,.f.)
> ::clientes:skip()
> enddo
> ::clientes:close()
> RETURN Nil
>
> Un saludo
>
>
> Luis Cahisa
>>
>> DO WHILE ! Eof() ::oTreeProductos:AddItem( :NAME )
>> :Skip(1)
>> END DO
>>
>> ::oTreeProductos:Refresh()
>>
>> :Close()
>>
>> END
>>
>> END
>>
>> Segun yo el AddItem deberí­a crear los items del Tree pero no me hace
>> nada.
>>
>> Agradezco la ayuda de antemano.
>>
>> Saludos,
>> Mario A. Dávalos
>> México, D.F.
>
>