Estimados;
Buscando post anteriores encuentro que el tema se trato en este post: oTree:GetSelected():GetParent():cPrompt
No obstante no tiene respuesta al interrogante. Alguien lo usa y lo soluciono?, como?
En mi proyecto genero un Tree desde una BD. Luego bajo ciertas condiciones deseo buscar mediante ::cPrompt. a través de bLdblclick; y es allí donde se produce el error
Alguna idea?
desde ya muchas gracias
Tree: Error en oTree:GetSelected():GetParent():cPrompt
Tree: Error en oTree:GetSelected():GetParent():cPrompt
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
- Daniel Garcia-Gil
- Posts: 2365
- Joined: Wed Nov 02, 2005 11:46 pm
- Location: Isla de Margarita
- Contact:
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
Hola Mario...
Seria buena idea que mostraras minimo el error y aparte si tienes un ejemplo autocontenido que podamos reproducir el error, con gusto podremos encontrar mas rapida una respuesta
Seria buena idea que mostraras minimo el error y aparte si tienes un ejemplo autocontenido que podamos reproducir el error, con gusto podremos encontrar mas rapida una respuesta
our best documentation is the source code
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Isla de Margarita Venezuela.
danielgarciagil@gmail.com
http://tdolphin.blogspot.com/
https://www.dropbox.com/referrals/NTI5N ... rc=global9
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
Daniel; desde ya muchas gracias por responder
He tomado testtre2.prg de \samples y agruegué el siguiente código:
oTree:blDblClick:= {|| if( !Empty( oTree:GetSelText() ), ;
if( !Empty( oTree:GetSelected():GetParent():cPrompt ), ;
wqout( { oTree:GetSelected():GetParent():cPrompt }), "vacio"), "" ) }
Al ejecutar el sample y hacer doblclic sobre el primer Item ya se manifiesta el error.
Lo que, si bien es coherente, ya que no existe un nivel por encima; lo que pretendo es averiguar si estoy en el 1º o 2º nivel para obrar en consecuencia
digamos que:
+ Hello Word
- xBase & OOPS
+ Otro Item
- SubItem
Si esta expandido y puslo sobre Hello Word, da error
Sobre el 2º Item (Otro Item), si no está expandido, lo abre, pero si esta abierto y pulso sobre él (Otro Item), tmb ocurre el error
Si esta no es la forma cual sería?
Saludos
He tomado testtre2.prg de \samples y agruegué el siguiente código:
oTree:blDblClick:= {|| if( !Empty( oTree:GetSelText() ), ;
if( !Empty( oTree:GetSelected():GetParent():cPrompt ), ;
wqout( { oTree:GetSelected():GetParent():cPrompt }), "vacio"), "" ) }
Al ejecutar el sample y hacer doblclic sobre el primer Item ya se manifiesta el error.
Lo que, si bien es coherente, ya que no existe un nivel por encima; lo que pretendo es averiguar si estoy en el 1º o 2º nivel para obrar en consecuencia
digamos que:
+ Hello Word
- xBase & OOPS
+ Otro Item
- SubItem
Si esta expandido y puslo sobre Hello Word, da error
Sobre el 2º Item (Otro Item), si no está expandido, lo abre, pero si esta abierto y pulso sobre él (Otro Item), tmb ocurre el error
Si esta no es la forma cual sería?
Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
Daniel;
alguna respeusta para esta consulta?
desde ya muchas gracias
alguna respeusta para esta consulta?
desde ya muchas gracias
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
Daniel;
Sin querer entrar en una polémica y reconociendo que no es tu obligación dar una respeusta; no obstante pregunto:
El silencio es respuesta?
Puse el sample que pediste, pero nunca hubo respuesta.
Este tema, por ahora no tiene solución?
Saludos
Sin querer entrar en una polémica y reconociendo que no es tu obligación dar una respeusta; no obstante pregunto:
El silencio es respuesta?
Puse el sample que pediste, pero nunca hubo respuesta.
Este tema, por ahora no tiene solución?
Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
Mario en estos momenots me veo enfrentado al mismo problema que tu pero luego de hacer varias pruebas, opte por hacer algo diferente, veras en mi caso las ramas del tree tienen en _ el mismo cprompt, lo que me complicaba mas el tema al ir a la tabla a buscar con esto "cprompt". Me di cuenta que cada rama del tree es un objeto y tiene un numero de manejador que es unico asi que lo que hice fue guardar estos numeros en arreglos para despues buscar en otro vector relacionado el valor de la clave que necesito para hacer el seek en la tabla. Todo esta en ocupar dos arreglos con la misma cantidad de elementos. este es un ejemplo:
ahItem = guarda los manejadores
aBound = guardo la clave a buscar en la talba
//-------------------------------------------
#Include "Fivewin.ch"
MEMVAR ahItem, aBound
FUNCTION Main()
LOCAL oDlgTree, oTree
PRIVATE ahItem:={}, aBound:={}
DEFINE DIALOG oDlgTree FROM 2,3 TO 40, 40 TITLE "PRUEBA DEL TREE" RESOURCE "DLG_MANTREE"
//--> Defino el Tree desde un Recurso
oTree:= TTreeview():ReDefine( 800, oDlgTree, 0, RGB( 255, 255, 255) )
//--> en este bloque muestro inflormacion de la rama del tree al hacer click
//--> y lo que le paso como parametro es el manejador del objeto item
oTree:bChanged := { |oTree,oItem| Verarbol( oTree:GetSelected():hItem ) }
ACTIVATE DIALOG oDlgTree CENTERED ArmTree(oTree)
RETURN Nil
---------------------------------*
* HACE EL LLENADO DEL TREE CON UNA
* TABLA DONDE ESTAN TODAS LAS REGIONDE DEL PAIS
* !CHILE!
*---------------------------------*
FUNCTION ArmTree( oTree)
LOCAL oItem1
Select RChile
Go Top
Do While !Eof()
//--> Busco el nombre de la Region y lo coloco com rama del arbol
Select Regiones
Seek RChile->Regi_chile
oItem1 := oTree:Add( Regiones->Nomb_regio, 0)
//--> Llena el arreglo con los manejadores de los objetos item
Aadd( ahItem, oItem1:hItem )
//--> llena este arrehlo con la clave que luego buscare
Aadd( aBound, RChile->Regi_chile )
SkIP
Enddo
RETURN Nil
*-----------------------------*
* muestro _ correspondientes a la rama del tree
* donde se hiso click
*-----------------------------*
FUNCTION Verarbol( nhItem )
LOCAL nPos:=0, cRegion:=""
nPos := Ascan( ahItem, nhItem)
//--> busco con el valor aBound en la tabla de regiones
If nPos > 0 .and. DbSeek( aBound[nPos] )
Select Regiones
cRegion := Regiones->Nomb_regio
Endif
RETURN cRegion //--> devuelve el nombre de la regio pero la puedes modificar para que retorne lo que quieras
ahItem = guarda los manejadores
aBound = guardo la clave a buscar en la talba
//-------------------------------------------
#Include "Fivewin.ch"
MEMVAR ahItem, aBound
FUNCTION Main()
LOCAL oDlgTree, oTree
PRIVATE ahItem:={}, aBound:={}
DEFINE DIALOG oDlgTree FROM 2,3 TO 40, 40 TITLE "PRUEBA DEL TREE" RESOURCE "DLG_MANTREE"
//--> Defino el Tree desde un Recurso
oTree:= TTreeview():ReDefine( 800, oDlgTree, 0, RGB( 255, 255, 255) )
//--> en este bloque muestro inflormacion de la rama del tree al hacer click
//--> y lo que le paso como parametro es el manejador del objeto item
oTree:bChanged := { |oTree,oItem| Verarbol( oTree:GetSelected():hItem ) }
ACTIVATE DIALOG oDlgTree CENTERED ArmTree(oTree)
RETURN Nil
---------------------------------*
* HACE EL LLENADO DEL TREE CON UNA
* TABLA DONDE ESTAN TODAS LAS REGIONDE DEL PAIS
* !CHILE!
*---------------------------------*
FUNCTION ArmTree( oTree)
LOCAL oItem1
Select RChile
Go Top
Do While !Eof()
//--> Busco el nombre de la Region y lo coloco com rama del arbol
Select Regiones
Seek RChile->Regi_chile
oItem1 := oTree:Add( Regiones->Nomb_regio, 0)
//--> Llena el arreglo con los manejadores de los objetos item
Aadd( ahItem, oItem1:hItem )
//--> llena este arrehlo con la clave que luego buscare
Aadd( aBound, RChile->Regi_chile )
SkIP
Enddo
RETURN Nil
*-----------------------------*
* muestro _ correspondientes a la rama del tree
* donde se hiso click
*-----------------------------*
FUNCTION Verarbol( nhItem )
LOCAL nPos:=0, cRegion:=""
nPos := Ascan( ahItem, nhItem)
//--> busco con el valor aBound en la tabla de regiones
If nPos > 0 .and. DbSeek( aBound[nPos] )
Select Regiones
cRegion := Regiones->Nomb_regio
Endif
RETURN cRegion //--> devuelve el nombre de la regio pero la puedes modificar para que retorne lo que quieras
Re: Tree: Error en oTree:GetSelected():GetParent():cPrompt
VPozo
Muchisimas gracias!
Lo implemento y te comento o, consulto si me quedaran dudas.
A mi proyecto lo tengo parado desde hace un buen tiempo debido a este viejo error para el que, lamentablemente, no hay soporte
Saludos
Muchisimas gracias!
Lo implemento y te comento o, consulto si me quedaran dudas.
A mi proyecto lo tengo parado desde hace un buen tiempo debido a este viejo error para el que, lamentablemente, no hay soporte
Saludos
Resistencia - "Ciudad de las Esculturas"
Chaco - Argentina
Chaco - Argentina