|
Página 1 de 1
|
Checkbox En GridView. Centrar
Autor |
Mensaje |
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Checkbox En GridView. Centrar
Buenos días!.
Hace ya tiempo hablamos de como insertar un checkbox en un gridview.
Tuvimos problemas y tambien estuvimos barajando la posibilidad de insertar una imagen de un checkbox dentro
de la celda del gridview.
Alguien, creo que Vuott, averiguó la forma. De un componente dedujo como poder hacerlo en el Gridview.
Para ello necesitábamos la propiedad .Children del control GridView y el indice. 0 en este caso.
El tema del índice no sé si es posible usar otros. En ese Índice se guarda la colección de los controles
de su interior.
Que rectifiquen lo que dije si me equivoque en algo.
Mi idea es la de tener distintas columnas y en cada una tener distintos checkboxes.
Logré hacer algo como esto:
Lo que quiero es que el centro de cada checkbox quede lo más centrado dentro del centro de cada celda.
Lo hice a voleo, pero supongo que es posible hallar una formula para hacerlo mejor.
Este fue el código:
El ancho del GridView lo hice de dos formas. Con la primera se puede observar el efecto que dije.
Public Sub Form_Open()
Dim chkbox As CheckBox
Dim x, y As Integer
With GridView1
.Columns.Count = 5
.Columns.Width = 50
.Width = .Columns.Count * .Columns.Width
'A ojo
'.Width = .Columns.Count * .Columns.Width + 10
End With
For x = 0 To 4
GridView1.Rows.Count += 1
For y = 0 To 4
With chkbox = New CheckBox(GridView1.Children[0]) As "Chkgrupo"
.Tag = x
.Value = False
'Se intenta situar cada centro de los checkboxes en los centros de cada celda del Gridview1
'Tomo 10 como un valor por defecto. A ojo
.X = GridView1[x, y].X + GridView1[x, y].Width / 2 - 10
.Y = GridView1[x, y].Y + GridView1[x, y].Height / 2 - 10
'Tomo 12 como un valor por defecto. A ojo
.w = GridView1[x, y].Width - 12
.h = GridView1[x, y].Height
End With
Next
Next
End
Un problema que observo. La primera fila de checkboxes parece estar en los títulos del grdiview!.
No puedo poner títulos de esta forma!.
Os voy a subir el código tambien para que lo probéis. Probar a desplazar la scrollbar horizontal
veréis que efecto ocurre.
He de decir que la propiedad Arrangement del formulario está en horizontal.
No quería que se quedase el control mal distribuido en el formulario y más siendo el solo.
Ejemplo de uso. Ver en un grid los permisos de un archivo. (Sin retocarlos, claro ).
Pero esto es solo la parte gráfica, un pequeño intento.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
CheckboxEnGridViewsCentros.tar.gz |
Tamaño: |
12.45 KB |
Descargado: |
55 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
CheckboxEnGridViewsCentros.tar.gz |
Tamaño: |
12.45 KB |
Descargado: |
55 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
CheckboxEnGridViewsCentros.tar.gz |
Tamaño: |
12.45 KB |
Descargado: |
55 veces |
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#1 Domingo, 14 May 2017, 09:29 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Checkbox En GridView. Centrar
Sin entrar al tema del cómo, ya expresé mi opinión, que ahora reitero de que es un error de concepto insertar campos de entrada en un gridview que es un control de salida.
Si quieres introducir datos de una manera coherente y "bien programada", deberías crear una clase heredada de tableview, que es una clase que contiene un, gridview y un textbox, y ampliarla para que también pudiese incluir checkboxes.
Saludos
=================== No podemos regresar
|
#2 Domingo, 14 May 2017, 11:11 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox En GridView. Centrar
Shordi:
Citar:
Sin entrar al tema del cómo, ya expresé mi opinión, que ahora reitero de que es un error de concepto insertar campos de entrada en un gridview que es un control de salida.
Si, eso es cierto.
Por otro lado si es para un ejemplo como es el de mostrar los permisos de un archivo que no se van a retocar podría valer.
Todo dependerá de lo que se quiera hacer.
En cambio si es rellenar una quiniela de esta forma, ya no es lo mismo.
Citar:
Si quieres introducir datos de una manera coherente y "bien programada", deberías crear una clase heredada de tableview, que es una clase que contiene un, gridview y un textbox, y ampliarla para que también pudiese incluir checkboxes.
Puede que no sea tan difícil de hacer la transformación.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Domingo, 14 May 2017, 13:06 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Checkbox En GridView. Centrar
es un error de concepto insertar campos de entrada en un gridview que es un control de salida.
Si quieres introducir datos de una manera coherente y "bien programada", deberías crear una clase heredada de tableview, que es una clase que contiene un, gridview y un textbox, y ampliarla para que también pudiese incluir checkboxes.
Muy interesante opinión.
|
#4 Domingo, 14 May 2017, 16:14 |
|
|
v3ctor
Analista Programador
Registrado: May 2013
Mensajes: 1786
Edad: 44 Ubicación: Uruguay
|
Re: Checkbox En GridView. Centrar
Sin entrar al tema del cómo, ya expresé mi opinión, que ahora reitero de que es un error de concepto insertar campos de entrada en un gridview que es un control de salida.
estas muy encajonado, hay muchas utilidades por ejemplo, hacemos una consulta sql y mostramos los datos en el gridview con chekbox, y por medio de ellos podemos hacer acciones sobre los datos visualizados o incluso de sus fuentes
Saludos
=================== Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
|
#5 Domingo, 14 May 2017, 16:45 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox En GridView. Centrar
v3ctor:
Citar:
estas muy encajonado, hay muchas utilidades por ejemplo, hacemos una consulta sql y mostramos los datos en el gridview con chekbox, y por medio de ellos podemos hacer acciones sobre los datos visualizados o incluso de sus fuentes
La idea de consultar y mostrar puede. Pero quizás modificar sea más complicado. Si ves el gridview siempre es para mostrar solo una salida de datos, texto,
imágenes en las celdas. Cambiar eso, no lo hemos visto mucho.
Cada componente tiene sus propiedades, virtudes en este caso.
Muchas veces solemos dedicarnos más a un componente, por ejemplo más a GridView que TableView ( claro, según lo que queramos hacer ).
La fuerza de la costumbre o uso nos hace trabajar automáticamente y en algunos aspectos desechar otras ideas.
Hemos visto por ejemplo que GridView soporta en una celda las imagenes, quizas TableView no lo haga.
TableView es capaz de ordenar, GridView el solo, no.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#6 Lunes, 15 May 2017, 00:03 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 50 Ubicación: dos hermanas, sevilla
|
Re: Checkbox En GridView. Centrar
Shell:
Citar: GridView soporta en una celda las imagenes, quizas TableView no lo haga.
Como tableview, hereda de un gridview, debe de soportarlo.
|
#7 Lunes, 15 May 2017, 07:40 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Checkbox En GridView. Centrar
Shell: en este hilo comente hace un tiempo la clase CTable que tiene de todo, el CheckBox también.
Tal vez en ese código encuentres algo que te oriente.
Saludos.
|
#8 Lunes, 15 May 2017, 10:20 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
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
|
|
|
|
|