|
Página 1 de 3
|
Checkbox Dentro De Gridview
Autor |
Mensaje |
jarrypalacios
JARRY PALACIOS RIVAS
Usuario
Registrado: Marzo 2014
Mensajes: 25
Edad: 41 Ubicación: Táchira
|
Checkbox Dentro De Gridview
en mi tabla hay conlumnas que son de tipo logico y me gustaria saber si puedo en un gridview insertar un checkbox????
|
#1 Domingo, 07 Septiembre 2014, 15:32 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Checkbox Dentro De Gridview
jarrypalacios:
Citar: y me gustaria saber si puedo en un gridview insertar un checkbox????
Como poder, si se puede, reprogramando el componente tableview...
Aunque tambien puedes usar un combobox (si/no) dentro del tableview, que eso si ya esta definido en el tableview.
Puedes ver un ejemplo de uso de tableview en http://cursogambas.blogspot.com.es/...-tableview.html
|
#2 Domingo, 07 Septiembre 2014, 17:29 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox Dentro De Gridview
Hola Jarry.
Puedes tener dos imágenes a modo de checkbox, que insertas en una celda. Cuando haces click sobre la fila (por ejemplo), el estado cambia.
Y en caso de hacer clic.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Domingo, 07 Septiembre 2014, 19:46 |
|
|
jguardon
Administrador
Registrado: Septiembre 2009
Mensajes: 2708
Edad: 57 Ubicación: Granada
|
Re: Checkbox Dentro De Gridview
Debería de funcionar, pero no... no estoy seguro si es un bug o lo estoy haciendo mal. Pero repito que el siguiente código sería la forma de hacerlo y no funciona, a ver si alguno averigua por qué o directamente envío un reporte de bug a Benoit:
' gambas class file
Private chkArr As New CheckBox[]
Public Sub Form_Open()
With GridView1
.Columns.Count = 4
.Columns[0].Title = "Stock"
.Columns[1].Title = "Description"
.Columns[2].Title = "Family"
.Columns[3].Title = "Blocked"
.Columns[0].Width = 140
.Columns[1].Width = 140
.Columns[2].Width = 140
.Columns[3].Width = 140
End With
fillGrid
End
'' fill grid with dummy data
Private Sub fillGrid()
Dim content As String
Dim lines, fields As New String[]
Dim hline As String
Dim hrow As Integer = 0
Dim chkbox As CheckBox
'dummy data
content = ""
"15,Llavero promocional,Regalos,0\n"
"15,Llavero promocional,Regalos,0\n"
"2,USB 8 Gb promocional,Regalos,0\n"
"5,USB 2 promocional,Regalos,1\n"
"35,Radio reloj,Varios,0\n"
"12,Cargador USB,Móviles,0\n"
"7,Funda tablet,Móviles,1"
lines = Split(content, gb.NewLine)
For Each hLine In lines
fields = Split(hline, ",")
GridView1.Rows.Count += 1
' filling colums for each row
GridView1[hrow, 0].Text = fields[0]
GridView1[hrow, 1].Text = fields[1]
GridView1[hrow, 2].Text = fields[2]
GridView1[hrow, 3].Text = fields[3]
' We create a checkbox on every iteration, placing it
' at the same position as the last cell -> GridView1[hrow, 3]
chkbox = New CheckBox(GridView1) As "chkboxGroup"
chkArr.Add(chkbox) ' add each checbox to an array to keep a reference to itself
chkArr[hrow].Text = "Blocked Yes/No"
chkArr[hrow].Value = CBool(CInt(fields[3])) 'convert value of the last column
chkArr[hrow].Tag = hrow ' keep the number of row for reference
chkArr[hrow].Width = GridView1[hrow, 3].Width
chkArr[hrow].Height = GridView1[hrow, 3].Height
chkArr[hrow].X = GridView1[hrow, 3].X
chkArr[hrow].Y = GridView1[hrow, 3].Y
' Coordinates seem ok, but chkbox is not displayed correctly
' I know it also will be a problem when rearranging objects in Form
Print chkArr[hrow].X, chkArr[hrow].Y, hrow
hrow += 1
Next
' Moreover, when using gb.gtk IDE displays this error:
' Gtk-CRITICAL **: IA__gtk_widget_get_direction: assertion 'GTK_IS_WIDGET (widget)' failed
End
Public Sub chkboxGroup_Click()
Print "Checkbox on row "; Last.tag
End
Saludos
=================== Jesús Guardón
Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".
"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
|
#4 Domingo, 07 Septiembre 2014, 20:39 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox Dentro De Gridview
Jesús:
¿ Quieres añadir el checkbox al lado ?.
He probado a crear un proyecto con gb.qt4 y aunque los checkbox no se muestra no hay un error grave.
Si hago un proyecto con gb.gui o gb.gtk, al entrar el ratón dentro del componente gridview desaparece todo el cuerpo del gridview y
permanece un checkbox abajo.
Esto con la versión estable 3.5.4.
Se podría capturar un checkbox en on y otro off e insertarlo en una celda.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Domingo, 07 Septiembre 2014, 23:50 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Checkbox Dentro De Gridview
El tema va por la propiedad picture de la celda.
Añade dos imágenes al proyecto, on y off y con éste código:
' gambas class file
Private chkArr As New CheckBox[]
Public Sub Form_Open()
With GridView1
.Columns.Count = 4
.Columns[0].Title = "Stock"
.Columns[1].Title = "Description"
.Columns[2].Title = "Family"
.Columns[3].Title = "Blocked"
.Columns[0].Width = 140
.Columns[1].Width = 140
.Columns[2].Width = 140
.Columns[3].Width = 140
End With
fillGrid
End
'' fill grid with dummy data
Private Sub fillGrid()
Dim content As String
Dim lines, fields As New String[]
Dim hline As String
Dim hrow As Integer = 0
Dim chkbox As CheckBox
'dummy data
content = ""
"15,Llavero promocional,Regalos,0\n"
"15,Llavero promocional,Regalos,0\n"
"2,USB 8 Gb promocional,Regalos,0\n"
"5,USB 2 promocional,Regalos,1\n"
"35,Radio reloj,Varios,0\n"
"12,Cargador USB,Móviles,0\n"
"7,Funda tablet,Móviles,1"
lines = Split(content, gb.NewLine)
For Each hLine In lines
fields = Split(hline, ",")
GridView1.Rows.Count += 1
' filling colums for each row
GridView1[hrow, 0].Text = fields[0]
GridView1[hrow, 1].Text = fields[1]
GridView1[hrow, 2].Text = fields[2]
' GridView1[hrow, 3].Text = fields[3]
GridView1[hrow, 3].picture = IIf(fields[3] = 0, Picture.Load("off.png"), Picture.Load("on.png"))
hrow += 1
Next
End
Todo solucionado.
Adjunto ejemplo.
Saludos
Descripción: |
|
Descargar |
Nombre del archivo: |
gridconcheckbox-0.0.1.tar.gz |
Tamaño: |
5.63 KB |
Descargado: |
47 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
gridconcheckbox-0.0.1.tar.gz |
Tamaño: |
5.63 KB |
Descargado: |
47 veces |
Descripción: |
|
Descargar |
Nombre del archivo: |
gridconcheckbox-0.0.1.tar.gz |
Tamaño: |
5.63 KB |
Descargado: |
47 veces |
|
#6 Lunes, 08 Septiembre 2014, 10:44 |
|
|
jarrypalacios
JARRY PALACIOS RIVAS
Usuario
Registrado: Marzo 2014
Mensajes: 25
Edad: 41 Ubicación: Táchira
|
Re: Checkbox Dentro De Gridview
es una excelente idea; muchas gracias. voy a probarlo.
|
#7 Lunes, 08 Septiembre 2014, 13:54 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox Dentro De Gridview
Jesús:
Intente este código simple y el efecto es parecido. Es como si la coordenada x e y del checkbox no funcionase correctamente dentro del Gridview.
Código de ejemplo:
Para mi que lo de incrustar un checkbox lo intente en su día. Por eso use lo de la imagen.
Se supone que X e Y son coordenadas dentro del área del GridView1. Si le quita los valores hace el mismo efecto.
Creo que es más estético lo de la imagen
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#8 Lunes, 08 Septiembre 2014, 18:57 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Checkbox Dentro De Gridview
Un Checkbox es un control de entrada de datos, muestra y recibe datos. Un gridview sólo muestra datos e imágenes, no es capaz de manejar entrada de datos.
Si hablamos de un Tableview... no lo sé. En principio un TableView es un gridview + un textbox, no sé si se podría modificar para insertar checkbox, pero en un GridView no se puede.
|
#9 Lunes, 08 Septiembre 2014, 19:45 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Checkbox Dentro De Gridview
Shordi:
Cierto, GridView es un control que solo muestra datos. Por eso me extrañó un poco que Jesús quisiera
incrustar o insertar un checkbox.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Lunes, 08 Septiembre 2014, 23:47; editado 1 vez
|
#10 Lunes, 08 Septiembre 2014, 23:46 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 1 de 3
|
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
|
|
|
|
|