Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 2 de 3
Ir a la página Anterior  1, 2, 3  Siguiente
 
Encabezados De GridView [SOLUCIONADO]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
En la lista hay un añadido de Fabien Board.
' gambas class file


Public Sub Form_Open()

  TableView1.Rows.Count = 10
  TableView1.Columns.Count = 6

End

Public Sub TableView1_Draw(X As Integer, Y As Integer, Width As
Integer, Height As Integer, Row As Integer, Column As Integer)

  If Row = 0 And If Column = 0 Then    'Limit the drawing to one time
(even if the event is called for each existing cells)
    Paint.Save                      'Save the clip stack
    Paint.ResetClip                 'Reset the cliping region
    Paint.Brush = Paint.Color(Color.Black)  'Select the text color
    Paint.ClipRect = Rect(0, 0, TableView1.Rows.W,
TableView1.Columns.H) 'set the clippin region to the upper left cells
size
    Paint.Text("toto", 0, 0, TableView1.Rows.W, TableView1.Columns.H,
Align.Center) 'Draw the text path
    Paint.Fill   'Fill the text with color
    Paint.Restore   'Restore the clipping area
  Endif

End


Menos sofisticado que la que citáis arriba, que es una extensión del control, pero más simple de entender y que, en esencia, hace lo mismo.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
tercoIDE escribió:  
me complica un poco, porque necesito que los headers esten fijos (no se pierdan cuando me mueva en la tabla), cuando tengo mas filas y columnas que las visibles

Podes usar los siguentes metodos:

Metodo de dos grids
Create dos paneles tanto en el de arriba como en el de abajo pone un tableview, o gridview, luego en el da abajo que sera tu grid de trabajo pone los datos y ocultale el header, luego en el de arriba tambien ocultale los headers, pero en el de arriba pones en cada grid el nombre de ceda columna.

Metodo de un grid en panel mas un scrolview
Crea un scrolview arrina lo dejaas vacio y abajo creas un panel y adentro de este un grid, es el grid igual que el en metodo anterior.
Luego creas por codigo los botones para cada columna con el nombre de cada una.
Cuando tenes muchas columnas y haces scroll le aplicas el scroll del grid de datos al scrollview (el de los titulos)
scwTitulos.ScrollX = grwDatos.ScrollX


Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
este es el resultado del codigo de Gianluiggi (user de la lista de correo)

el codigo de F Bodard tiene un bug: cuando hay muchas filas, al bajar en la tabla, se deja de dibujar la celda
 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
De todas las ideas, pe parecio que lo mas sencillo es agregar una Label con el fondo transparente, centrada, sin marco y ubicarla en el lugar correcto. Al cambiar el texto de la celda en cuestion, aprovecho para setear sus parametros.

Private Sub Corner_Write(Value As String)

    
 
   $frmSheet.lblCorner.Text = Value
  
    $frmSheet.lblCorner.Visible = True
    
    $frmSheet.lblCorner.top = 2
    
    $frmSheet.lblCorner.Left = 2
    
    sheet.Rows.W = $frmSheet.lblCorner.w + 4
    
    $frmSheet.lblCorner.h = sheet.Rows.h - 4

End

 



 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
elitedigital2005 escribió: [Ver mensaje]
Ya lo resolví. Tenía que modificarle la propiedad Header al GridView que por defecto está en 'None'.


Hola, yo he hecho lo que dices pero no veo el título todavía. Lo cierto es que los datos están recuperados desde un Conexión. Alguien sería tan amable de ayudarme. Gracias.
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
gambafeliz escribió:  
elitedigital2005 escribió:  
Ya lo resolví. Tenía que modificarle la propiedad Header al GridView que por defecto está en 'None'.


Hola, yo he hecho lo que dices pero no veo el título todavía. Lo cierto es que los datos están recuperados desde un Conexión. Alguien sería tan amable de ayudarme. Gracias.

Revisa el código del proyecto que te subí hace poco en otro hilo, el de los decimales, creo. Ahí tienes la forma de cargar cabeceras, anchos de columna automáticos, manejo del evento data, etc. Si te resulta muy engorroso, pregunta.

Saludos
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
shordi escribió: [Ver mensaje]
gambafeliz escribió: [Ver mensaje]
elitedigital2005 escribió: [Ver mensaje]
Ya lo resolví. Tenía que modificarle la propiedad Header al GridView que por defecto está en 'None'.


Hola, yo he hecho lo que dices pero no veo el título todavía. Lo cierto es que los datos están recuperados desde un Conexión. Alguien sería tan amable de ayudarme. Gracias.

Revisa el código del proyecto que te subí hace poco en otro hilo, el de los decimales, creo. Ahí tienes la forma de cargar cabeceras, anchos de columna automáticos, manejo del evento data, etc. Si te resulta muy engorroso, pregunta.

Saludos


Ya lo he resuelto. Pero es que es algo confuso. Te explico.

En la lista de propiedades de Gridview en este hilo dice el autor del hilo que ya lo solucionó y que tan solo cambio la propiedad Header y es lo que yo he hecho pero si la cambias en la lista de propiedades a mi no me funcionó, vamos que el Gridview cargaba datos pero no la propiedad Title

Entonces se me ocurrió hacer lo mismo en el código y es hacerlo por código y funciona. Sinceramente este echo me hace desconfiar o hace que no entienda nada bien el comportamiento lógico del IDE de Gambas3. Yo entiendo que si cambio la propiedad en la lista o por código del componente debería comportarse idénticamente, ¿no crees?

Para alguien que lo necesite, este fue mi código:

  Gridviewdatos.Header = 3 'el 3 permite visualizar el título vertical (número de las filas) y horizontal (Columnas que expreso con la propiedad Title)
  Gridviewdatos.Columns[0].Title = "Descripción"

Gracias shordi
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
Citar:
En la lista de propiedades de Gridview en este hilo dice el autor del hilo que ya lo solucionó y que tan solo cambio la propiedad Header y es lo que yo he hecho pero si la cambias en la lista de propiedades a mi no me funcionó, vamos que el Gridview cargaba datos pero no la propiedad Title

Entonces se me ocurrió hacer lo mismo en el código y es hacerlo por código y funciona. Sinceramente este echo me hace desconfiar o hace que no entienda nada bien el comportamiento lógico del IDE de Gambas3. Yo entiendo que si cambio la propiedad en la lista o por código del componente debería comportarse idénticamente, ¿no crees?


Un Gridview es un contenedor que hay que rellenar en tiempo de ejecución. Por tanto no se sabe lo que contiene hasta que no se ejecuta el código. Puedes "darle formato" en el IDE (si quieres cabeceras o no, si quieres que su tamaño cambie automáticamente o no, etc.) pero no puede controlar en el IDE lo que todavía no existe. No existen columnas ni filas en tiempo de diseño, eso queda para cuando sepas de qué vas a rellenar el Gridview. Por tanto... ¿Cómo van comportarse idénticamente si diseño y ejecución son etapas distintas de "la vida" de un programa?
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
shordi escribió:  
Citar:
En la lista de propiedades de Gridview en este hilo dice el autor del hilo que ya lo solucionó y que tan solo cambio la propiedad Header y es lo que yo he hecho pero si la cambias en la lista de propiedades a mi no me funcionó, vamos que el Gridview cargaba datos pero no la propiedad Title

Entonces se me ocurrió hacer lo mismo en el código y es hacerlo por código y funciona. Sinceramente este echo me hace desconfiar o hace que no entienda nada bien el comportamiento lógico del IDE de Gambas3. Yo entiendo que si cambio la propiedad en la lista o por código del componente debería comportarse idénticamente, ¿no crees?


Un Gridview es un contenedor que hay que rellenar en tiempo de ejecución. Por tanto no se sabe lo que contiene hasta que no se ejecuta el código. Puedes "darle formato" en el IDE (si quieres cabeceras o no, si quieres que su tamaño cambie automáticamente o no, etc.) pero no puede controlar en el IDE lo que todavía no existe. No existen columnas ni filas en tiempo de diseño, eso queda para cuando sepas de qué vas a rellenar el Gridview. Por tanto... ¿Cómo van comportarse idénticamente si diseño y ejecución son etapas distintas de "la vida" de un programa?


Si puedes tener razón, shordi.

Pero y esto no es una discusión de haber quien la tiene mas larga, vale

La propiedad Header en la interfaz gráfica esta para algo digo yo. Y entiendo desde mi humilde opinión que si lo predefino algo el código exista datos futuros o no debería tomar ese componente la propiedad como parte por defecto, predefinida por el usuario que lo va a manejar.

No se si me he explicado lo que te quiero expresar.

En fin, piensalo lo que te digo, ¿no lo ves mas coherente, tenga o no tenga razón?

Saludos, joven
 



 
gambafeliz - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Encabezados De GridView [SOLUCIONADO] 
 
Citar:
La propiedad Header en la interfaz gráfica esta para algo digo yo.

Sí, para definir si se muestran las líneas de cabecera horizontales, verticales o ambas.

Citar:
Y entiendo desde mi humilde opinión que si lo predefino algo el código exista datos futuros o no debería tomar ese componente la propiedad como parte por defecto, predefinida por el usuario que lo va a manejar.

Esta frase no la entiendo muy bien. No puedes predefinir el contenido de las cabeceras porque el IDE no expone eso... porque de hecho eso no existe. Existe la propiedad .Text de cada una de las columnas... que no existen en tiempo de diseño y que por eso no pueden ser definidas en el IDE.
No veo el problema. Para eso está el código.
Citar:

En fin, piensalo lo que te digo, ¿no lo ves mas coherente, tenga o no tenga razón?

Ocurre que cuando defines una propiedad en el IDE esa propiedad se mantiene mientras no la cambies por código. Lo que no ocurre es que por haber leído "Headers" tal propiedad sea lo que nosotros interpretamos que debería ser. Tal vez si la propiedad se llamase ShowHeaders no existiría ésta discusión... pero el diseñador elige el nombre que le parece mejor, supongo.

Si te apetece que las cosas funcionen a tu manera (que le puedas definir las cabeceras) yo tengo diseñado un control, que te puedo pasar cuando quieras, que es un Gridview que muestra automáticamente un csv o un result o una colección de colecciones o un array multidimensional como origen de los datos y tiene ordenaciones y filtros, como si fuese una base de datos y que dispone de una propiedad "Titles" y otra "Widths" en la que defines mediante un array de cadenas las cabeceras y mediante un array numérico el ancho de las columnas. Dispone de la propiedad Value, que es una colección con los valores de la línea seleccionada.
Eso sí, el código puede ser bastante complejo (el uso es sencillo... creo).

Saludos.
 




===================
No podemos regresar
 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
2.00 2 2 1
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Gridview.Diferentes Fuentes De Letras.Enca... Shell Controles/Librerías/Componentes 4 Martes, 18 Septiembre 2012, 11:08 Ver último mensaje
Shell
No hay nuevos mensajes [SOLUCIONADO] GridView SelectedCell calcena General 2 Sabado, 28 Julio 2018, 11:43 Ver último mensaje
calcena
No hay nuevos mensajes [SOLUCIONADO] GridView Que Aumenta De Rows calcena General 16 Viernes, 10 Agosto 2018, 12:38 Ver último mensaje
calcena
No hay nuevos mensajes [SOLUCIONADO] Deseleccionar Row En Un Grid... calcena General 2 Jueves, 16 Agosto 2018, 14:48 Ver último mensaje
calcena
 

Publicar nuevo tema  Responder al tema  Página 2 de 3
Ir a la página Anterior  1, 2, 3  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
No puede descargar archivos
No puede publicar eventos en el calendario