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.
In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Llenar un Tree en tiempo de ejecución.
-
- Mensajes: 190
- Registrado: Mar Ago 19, 2008 12:38 am
-
- Mensajes: 10
- Registrado: Lun Jul 16, 2007 10:39 pm
Llenar un Tree en tiempo de ejecución.
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.
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.
-
- Mensajes: 190
- Registrado: Mar Ago 19, 2008 12:38 am
Llenar un Tree en tiempo de ejecución.
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.
>
>
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.
>
>