Checkbox En GridView. Centrar


Objetivo: 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:

checkboxsengrid

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


CheckboxEnGridViewsCentros.tar.gz
Descripción:  
Descargar
Nombre del archivo: CheckboxEnGridViewsCentros.tar.gz
Tamaño: 12.45 KB
Descargado: 61 veces
CheckboxEnGridViewsCentros.tar.gz
Descripción:  
Descargar
Nombre del archivo: CheckboxEnGridViewsCentros.tar.gz
Tamaño: 12.45 KB
Descargado: 61 veces
CheckboxEnGridViewsCentros.tar.gz
Descripción:  
Descargar
Nombre del archivo: CheckboxEnGridViewsCentros.tar.gz
Tamaño: 12.45 KB
Descargado: 61 veces

Objetivo: 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

Perfil MP  
Objetivo: 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

Objetivo: Re: Checkbox En GridView. Centrar
shordi escribió: [Ver mensaje]
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. sisi

Perfil MP  
Objetivo: Re: Checkbox En GridView. Centrar
shordi escribió: [Ver mensaje]
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

Objetivo: 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

Objetivo: 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.

Objetivo: 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.

Perfil MP  

Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.5123s (PHP: -75% SQL: 175%)
Consultas SQL: 46 - Debug off - GZIP Activado