Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problemas Para Recorrer Un Columnview [Solucionado]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problemas Para Recorrer Un Columnview [Solucionado] 
 
Estimados:

de la aplicacion que estoy reescribiendo ( lista de contactos ), he modificado la parte donde creo las categorias, para que trabaje todo en el columnview. Dentro de este solo muestro las descripcion y el valor "key" lo asigno con el codigo que posee el valor en la base de datos

ej

"codigo", "Descripcion"
"11","Todos"
"14","Familia"
"18","trabajo"

Bueno mi problema pasa por que el codigo lo desconosco "", ya que es un campo autoincremental por lo que cada vez que se agrega uno o elimina , el codigo que se genera no es un indice correlativo necesariamente y que partira desde 1..

entonces cuando quiero recorre el columnview por en campo item[key], no tengo como saber el rango que debo recorrer. he revisado si existe un indice interno que le de correlativo a las lineas pero no he encontrado nada..

la idea de poner la key como indice es para que al final cuando ya termino de trabajar sobre las categoias, volcar en un arreglo el cual lo pasare a mi libreria en donde realizo todos los updates necesarios.

Intente seleccionando las lineas pero necesito saber el valor que quedo como key, por lo que tampoco me resulto

Alguna idea de como recorrerlo????
 



 
última edición por chaskux el Martes, 17 Noviembre 2009, 02:42; editado 1 vez 
chaskux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Para Recorrer Un Columnview 
 
El columnview funciona a esos efectos igual que un treeview. Esto es que hay un arbol en el que unos item tienen dentro a otros y todos ellos están definidos por su key y por la key de su padre.

Siempre tienes dos cursores. El cursor que obtienes con la propiedad CURRENT que es aquel donde estás situado físicamente.
Hay otro cursor al que yo llamo "cursor lógico" al que se accede por la propiedad ITEM y que te permite ir a otros sitios a lo que sea (por ejemplo a su padre). Si quieres ir al padre pues harás un moveparent, si quieres ir a un hijo pues harás un movechildren, si quieres ir a uno concreto (para lo cual debes saber su key) harás un moveto, si quieres ir al anterior harás un moveprevious y si quieres ir al posterior harás un movenext.

El control Treeview

Un saludo
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Para Recorrer Un Columnview 
 
Bueno te puedo contar que probe un par de combinaciones y termine haciendo otro proceso para mantener la lista ya que resultaba complicado el manejo al agregar y eliminar nuevos items

Este codigo me funciono

clvCategorias.Item.MoveFirst()
FOR intItem = 0 TO clvCategorias.Count
    strCodigo = clvCategorias.Item.Text
    clvCategorias.MoveNext()
NEXT
 



pero extrañamente este otro me da problemas

clvCategorias.Item.MoveFirst()
FOR intItem = 0 TO clvCategorias.Count
    strCodigo = clvCategorias.Item.Text
    clvCategorias.Item.MoveBefore()
NEXT
 
o el after... cualquiera de esos 2
 



 
chaskux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Para Recorrer Un Columnview [Solucionado] 
 
No entiendo bien lo que quieres.
En el ejemplo del treeview hay un arbol con países, naciones y ciudades
¿Lo que tu quieres es poder listar países?
¿Poder listar naciones de un país?
¿Poder listarlo todo?

¿ ?
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Para Recorrer Un Columnview [Solucionado] 
 
Tengo una lista simple como te explicaba con categorias

"codigo", "Descripcion"
"11","Todos"
"14","Familia"
"18","trabajo"

luego esta es desplegada en el columnview solo la descripcion ya que el codigo es usado para el valor key. por lo que tengo una sola columna. En el formulario tengo tres botones "agregar", "modificar", "eliminar".
el primero toma el valor de la caja de texto y la añade al objeto con un nuevo indice
el modificar toma el elemnto seleccionado y permite que se cambie la descripcion
y eliminar mas que claro.

en primera instancia queria hacer las tres acciones sobre el columnview y luego pasar todo a la base de datos

pero al probar me di cuenta que por el hecho de ser un campo autoincremental el codigo, el objeto no me servia del todo. ya que como no tengo control del numero que colocaba luego de varias pruebas me pise la cola con la numeracion

despues de revisar un rato desde la mi respueta me di cuenta que el ciclo por el indice "oculto" del objeto me servia para hacer las validaciones de texto. asi que estoy ocupando igual el metodo para recorrerlo.

-----------
con respecto del codigo que puse, son los metodos que probe para recorrer el objeto columnV,y el segundo que es el mas logico para mi mente   , no funciono... luego modifique hasta que me permitio moverme por los items y quedo como el primero....   
 



 
chaskux - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problemas Para Recorrer Un Columnview [Solucionado] 
 
Te falta información en esa tabla
De cada elemento tienes que guardar su código, su descripción y un campo para identificar a su padre.

De forma que cuando te pones en un registro sabes su código y el de su padre y cuando te pones en un item del columnview sabes igualmente su codigo y el de su padre.

Gestionar estas cosas en un columnview o un treeview es un poco fastidioso porque por ejemplo para saber que hermanos tienes hay que subir al padre (método moveparent) y desde este bajar al primero de sus hijos (movechild) y y luego ir bajando (movenext) hasta que el padre ya no sea el mismo.

Una lata

Eso mismo lo solucionas en la tabla haciendo una consulta de selección de aquellos que tengan el mismo padre que el tuyo que será algo como esto
columnview.moveparent 'para subir el cursor interno al padre
"select * from tabla where padre=" & columnview.item.key 'buscar los que tengan el mismo padre
y con ello obtienes el key de todos ellos.
Para ir a cualquiera de ellos basta con hacer un
columview.moveto(rs!codigo) osea el campo codigo del registro al que quieres ir.

Para modificar un dato haces la moficicación en la tabla y luego haces
columnview.item.rename (nuevo texto)
o bien
columnview.item.text="nuevo texto"
y por último para borrarlo lo borras de la tabla y luego
columnview.item.delete

Como ves no necesitas saber cual es exactamente el código. Sea cual sea está en columnview.item.key o bien en columnview.current.key. Para saber el de su padre un columnview.moveparent que mueve el cursor interno al item de su padre y luego sabes que en un columnview.item.key tienes el codigo de su padre.

Con ambos datos ya puedes hacer cualquier cosa que necesites.

Un saludo
 



 
última edición por soplo el Miercoles, 18 Noviembre 2009, 15:52; editado 1 vez 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Recorrer Campos De Una Tabla [Solucionado] maikl Bases de Datos 5 Sabado, 31 Octobre 2009, 01:20 Ver último mensaje
maikl
No hay nuevos mensajes Problemas Al Dimensionar Una Columna - Col... DEATH Controles/Librerías/Componentes 2 Viernes, 04 Enero 2013, 16:40 Ver último mensaje
DEATH
No hay nuevos mensajes Recorrer Un Columnview Y Guardar Datos En ... v3ctor Controles/Librerías/Componentes 4 Martes, 20 Octobre 2015, 20:06 Ver último mensaje
v3ctor
No hay nuevos mensajes Abrir Archivo Excel Para Recorrer Contenid... calcena General 19 Martes, 01 Octobre 2019, 18:28 Ver último mensaje
cogier
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron