Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Problema Con Tamaño De Table View
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Con Tamaño De Table View 
 
Hola chicos, voy directamente al grano.

Tengo esta definició de un tableview.

LstProductos.Columns.Count = 5

  LstProductos.Columns[0].width = 1
  LstProductos.Columns[0].Text = "Orden"
  
  LstProductos.Columns[1].width = 150
  LstProductos.Columns[1].Text = "Descripcion"
  LstProductos.Columns[1].Alignment = 3
  
  LstProductos.Columns[2].width = 50
  LstProductos.Columns[2].Alignment = 3
  LstProductos.Columns[2].Text = "Coste"
  
  LstProductos.Columns[3].width = 50
  LstProductos.Columns[3].Text = "Pvp Rec."
  LstProductos.Columns[3].Alignment = 3

  LstProductos.Columns[4].width = 50
  LstProductos.Columns[4].Text = "Precio"
  LstProductos.Columns[4].Alignment = 3

  LstProductos.Width = 350

En principio todo deveria de ir bien,y dijo deberia porque en la columna orden me pone por lo menos una longitud de 200 y npo consigo que se vean todos los datos en el tableview,m se supone que tiene espacio de sobra para que se vean.
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Así, sin más, puede ser de muchas cosas, por ejemplo, mírate la definición del campo en la base de datos. Pero es imposible ayudarte con sólo esa información. Intenta hacer un pequeño proyecto donde se reproduzca el error y podremos ayudarte.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Al problar el tu codigo, no es visible la rejilla del objecto TableView.
He tenido cambiarlo asì:
Public Sub Form_Open()
TableView1.Columns.Count = 5
TableView1.Rows.Count = 3

  TableView1.Columns[0].width = 1
  TableView1[0, 0].Text = "Orden"
  
  TableView1.Columns[1].width = 150
  TableView1[0, 1].Text = "Descripcion"
  TableView1[0, 1].Alignment = 3
  
  TableView1.Columns[2].width = 50
  TableView1[0, 2].Alignment = 3
  TableView1[0, 2].Text = "Coste"
  
  TableView1.Columns[3].width = 50
  TableView1[0, 3].Text = "Pvp Rec."
  TableView1[0, 3].Alignment = 3

  TableView1.Columns[4].width = 50
  TableView1[0, 4].Text = "Precio"
  TableView1[0, 4].Alignment = 3

  TableView1.Width = 351
End


...una pregunta: porque el valor de TableView1.Columns[0].width es 1 ?  scratch
 



 
última edición por vuott el Jueves, 10 Septiembre 2015, 18:33; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Les pongo unos pantallazos ;

Esta es la BDD

base_de_datos

Esta es la Definicion en el formulario

codigo

Este es el resultado

resultado_lista

Espero que esto les ayude a ayudarme, gracias de antemano
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Supongo que usas MySQL.
Bigint no es un tipo de datos que gambas reconozca así a bote pronto.
No utilizo el control Tablview, por lo que no sé si es un bug del mismo o del driver de mysql, pero prueba a cambiar eso de bigint por un Integer. No creo que tu base de datos llegue a tener registros como para que se te quede pequeño.

Si el problema persiste, miramos otras cosas.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Bueno shordi, he cambiado el bigint a int(10) y como me imaginaba no ha echo ni sensación, os posteo otro fragmento de codigo que tengo en el mismo programa y me funciona perfectamente, sinceramente yo no le veo el error.

Public Sub Form_Open()

  Dim btn As Button
  Dim Registros As Integer
  Dim i As Integer

  Me.Center

  ConectaBDD.Conectar

  ColumnEmpleados.Columns.Count = 3
  
  ColumnEmpleados.Columns[0].Text = "Codigo"
  ColumnEmpleados.Columns[1].Text = "Empleado"
  ColumnEmpleados.Columns[1].Width = 150
  ColumnEmpleados.Columns[2].Text = "Categoria"

    ConectaBDD.Hres = ConectaBDD.Hcon.Exec("select * from Cargos")

    For i = 1 To ConectaBDD.Hres.Count - 1
        CmbCategoria.Add(Upper(ConectaBDD.Hres!Descripcion))
        ConectaBDD.Hres.MoveNext
    Next

    ConectaBDD.Hres = ConectaBDD.Hcon.Exec("select * from Empledos")

    For i = 0 To ConectaBDD.Hres.Count - 1  

      ColumnEmpleados.Add(i, ConectaBDD.Hres!Codigo)
      ColumnEmpleados[i][1] = ConectaBDD.Hres!NOMBRE
      ColumnEmpleados[i][2] = ConectaBDD.Hres!PUESTO
      CmbNombre.Add(ConectaBDD.Hres!NOMBRE)

      ConectaBDD.Hres.MoveNext

    Next
    ConectaBDD.Hcon.Close

End
 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Bueno. Prueba a no poner ningún ancho en absoluto. O ponles -1 de ancho. Eso calcula el ancho automático para el gridview, que es un componente del tableview. Si aún así no funciona, sube el proyecto donde te pase (con el formulario que falla es suficiente) Más no te puedo decir sin ver más.

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
Bueno shordi ahí tienes el formulario entero, a ver si se te ocurre algo, porfa.

Public Sub Form_Open()

  Me.Center
  LstProductos.Columns.Count = 5

  LstProductos.Columns[0].Text = "Orden"
  LstProductos.Columns[1].Text = "Descripcion"
  LstProductos.Columns[1].Alignment = 3
  LstProductos.Columns[2].Alignment = 3
  LstProductos.Columns[2].Text = "Coste"
  LstProductos.Columns[3].Text = "Pvp Rec."
  LstProductos.Columns[3].Alignment = 3
  LstProductos.Columns[4].Text = "Precio"
  LstProductos.Columns[4].Alignment = 3

  rellenaProductos()

End

Public Sub rellenaProductos()
Dim i As Integer

    ConectaBDD.Hcon.Close
    ConectaBDD.Conectar()
    
    LstProductos.Clear
    
    ConectaBDD.Hres = ConectaBDD.Hcon.Exec("select * from Productos")
    If ConectaBDD.Hres.Count = 0 Then
      Return
    Endif
    For i = 0 To ConectaBDD.Hres.Count - 1  
      
      LstProductos.Add(i, ConectaBDD.Hres!Codigo)
      LstProductos[i][1] = ConectaBDD.Hres!Descripcion
      LstProductos[i][2] = ConectaBDD.Hres!Coste
      LstProductos[i][3] = ConectaBDD.Hres!PrecioRecomendado
      LstProductos[i][4] = ConectaBDD.Hres!Precio

      ConectaBDD.Hres.MoveNext

    Next
    ConectaBDD.Hcon.Close
End

 



 
desoljor - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View 
 
La manera de usar un tableView no es esa.
Si tú cargas todo el contenido de la tabla en memoria (imagina que tienes 20.000 registros) la lentitud sería enorme y el consumo de memoria disparatado.

La clase TableView, igual que Gridview, habilita un evento llamado "data" que se lanza automáticamente cada vez que es necesario sincronizar los datos entre ambos.

La manera correcta de utilizar un tableview es usando ese evento. Te adjunto un pequeño proyecto que recrea tu tabla en una base de sqlite y que te muestra un tableview con ella.
El código quedaría así:

Private ConectaBDD As Connection
Private $rs As Result   'Declaramos el result con visibilidad para toda la clase

Public Sub Form_Open()

  Dim n As Integer
  
  ConectaBDD = New Connection
  ConectaBDD.type = "sqlite"
  ConectaBDD.host = Application.Path
  ConectaBDD.name = "base"
  ConectaBDD.Open
  ' Hacemos la consulta "embelleciendo" los nombres de los campos (acentos y abreviaturas)
  $rs = ConectaBDD.Exec("select Codigo as 'Código',Descripcion as 'Descripción', Coste as 'Precio Coste', PrecioRecomendado as 'Prec. Rec.', precio as 'Precio Final' from productos")
  
  With LstProductos 'para ahorrarnos escribir el nombre muchas veces y para ayudar al compilador
    .Columns.Count = $rs.fields.Count 'queremos ver todas las columnas
    For n = 0 To $rs.Fields.count - 1    
        .Columns[n].Text = $rs.Fields[n].name   'para el ejemplo ponemos el nombre del campo de cabecera de columna.
    Next
    .Columns[1].Width = 300 'porque el por defecto es demasiado pequeño
     .Rows.Count = $rs.Count   'el número de filas es el número de registros
  End With
  $rs.MoveFirst  'nos situamos en la primera fila.
  Me.Center
  
End

Public Sub LstProductos_Data(row As Integer, col As Integer)
  
    $rs.MoveTo(Row)                                     'movemos el registro activo del Result para que coincida con el del tableview
    LstProductos.Data.Text = $rs[$rs.Fields[col].name]  'asignamos el contenido del campo a la celda activa
    
End


 


Como ver hemos sincronizado el tableview con la tabla de datos y el evento data se encarga de mantenerlo así. Es decir, si te mueves por debajo de las líneas visibles, las nuevas líneas aparecerán sin problemas.

Descargatelo, pruébalo y me cuentas

Saludos

tableV-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tableV-0.0.1.tar.gz
Tamaño: 5.25 KB
Descargado: 30 veces
tableV-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tableV-0.0.1.tar.gz
Tamaño: 5.25 KB
Descargado: 30 veces
tableV-0.0.1.tar.gz
Descripción:  
Descargar
Nombre del archivo: tableV-0.0.1.tar.gz
Tamaño: 5.25 KB
Descargado: 30 veces

 




===================
No podemos regresar
 
última edición por shordi el Viernes, 11 Septiembre 2015, 12:38; editado 2 veces 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Con Tamaño De Table View (SOLUCIONADO) 
 
Bueno ya lo solucione, lo he arreglado con un  Tablaview, a continuaciṕn os pongo el código u un pantallazo por si puede servirle a alguien.


Public Sub Form_Open()

Dim Linea As Integer

Me.Center

TableVerDatos.Columns.count = 5 ' - - - - > definimos cantidad de columnas

TableVerDatos.header = 1 '- - - - > definimos la cantidad de filas dedicadas a cabecera
TableVerDatos.Columns[0].text = "Codigo"
TableVerDatos.columns[0].Width = 50
TableVerDatos.columns[1].text = "Descripcion"
TableVerDatos.columns[1].Width = 200
TableVerDatos.columns[2].text = "Coste"
TableVerDatos.columns[2].Width = 50
TableVerDatos.columns[3].text = "PVR"
TableVerDatos.columns[3].Width = 50
TableVerDatos.columns[4].text = "Precio"
TableVerDatos.columns[4].Width = 50


ConectaBDD.Conectar
ConectaBDD.Hres = ConectaBDD.Hcon.Exec("Select * from Productos order by Codigo")
TableVerDatos.rows.count = ConectaBDD.Hres.Count

For linea = 0 To ConectaBDD.Hres.Count - 1
   TableVerDatos[Linea, 0].text = ConectaBDD.Hres!Codigo
   TableVerDatos[Linea, 1].text = ConectaBDD.Hres!Descripcion
   TableVerDatos[Linea, 2].text = ConectaBDD.Hres!Coste
   TableVerDatos[Linea, 3].text = ConectaBDD.Hres!PVR
   TableVerDatos[Linea, 4].text = ConectaBDD.Hres!Precio
  
   ConectaBDD.Hres.MoveNext
Next

End

resultado_table_view


Muchas gracias a todos por vuestra ayuda.
 



 
desoljor - 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 Problema Tamaño Form Y Controles zaratustraw00f General 3 Domingo, 17 Enero 2010, 00:42 Ver último mensaje
CanihoJR
No hay nuevos mensajes Re: Busquedad En Un Table View(Solucionado) Fenriz07 Controles/Librerías/Componentes 2 Martes, 07 Septiembre 2010, 04:54 Ver último mensaje
Fenriz07
No hay nuevos mensajes Pasar Todos Los Datos De Un Table View A U... alan Instalación 7 Domingo, 27 Febrero 2011, 23:48 Ver último mensaje
alan
No hay nuevos mensajes Problema Con El Tamaño De Las Columnas En... Cubel General 7 Jueves, 22 Agosto 2013, 11:54 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

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