Control Gridview.


Subject: Control Gridview.
Buenas tarde a la comunidad mis saludos codiales.
mi problema es que tengo que cargar un "gridview " de unos datos ya cargados en una base de datos y logro solo cargar las 2 primeras filas nada mas la consulta a la base de datos es correcta. pero no porque no le asignas los datos a las siguientes filas. aqui esta los codigos:

PUBLIC SUB Form_Open()
'abriendo Base de datos
MOD.Connect()
IF MOD.Connect() THEN
ELSE
message.Error("Error en la conexion")
ENDIF


'columnas de gridview
WITH gridView1
.Columns.Count = 2
.Columns[0].Text = "Datos"
.Columns[0].Width = 150
.Columns[1].Text = "Descripcion"
.Columns[1].Width = 250
.Rows.Count = 9
END WITH
gridView1[0, 0].Alignment = Align.Left
gridView1[0, 0].Text = "Cedula:"
gridView1[1, 0].Alignment = Align.Left
gridView1[1, 0].Text = "Nombre:"
gridView1[2, 0].Alignment = Align.Left
gridView1[2, 0].Text = "Apellido:"
gridView1[3, 0].Alignment = Align.Left
gridView1[3, 0].Text = "Sexo:"
gridView1[4, 0].Alignment = Align.Left
gridView1[4, 0].Text = "Fecha de Nacido:"
gridView1[5, 0].Alignment = Align.Left
gridView1[5, 0].Text = "Cargo:"
gridView1[6, 0].Alignment = Align.Left
gridView1[6, 0].Text = "Direccion:"
gridView1[7, 0].Alignment = Align.Left
gridView1[7, 0].Text = "Fecha de Ingreso:"
gridView1[8, 0].Alignment = Align.Left
gridView1[8, 0].Text = "Observaciones:"
ME.Center
END

PUBLIC SUB Button3_Click()
DIM query AS String
DIM resultado AS Result
DIM Foto_in AS String
Dialog.path = "/home/luis/proyecto/sin_foto.jpeg"
foto_in = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)
IF (TextBox1.Text = "") THEN
message.Info("Debe Introducir un Nº de Cédula")
ELSE
query = "select * from voluntarios where cedula ='" & TextBox1.Text & "'"
resultado = db.Exec(query)
IF resultado.Count > 0 THEN
gridView1[0, 1].Alignment = Align.Normal
gridView1[0, 1].Text = resultado["cedula"]
gridView1[1, 1].Alignment = Align.Normal
gridView1[1, 1].Text = resultado["nombre"]
gridView1[2, 1].Alignment = Align.Normal
gridView1[2, 1].Text = resultado["apellido"]
gridView1[3, 1].Alignment = Align.Normal
gridView1[3, 1].Text = resultado["sexo"]
GridView1[4, 1].Alignment = Align.Normal
GridView1[4, 1].Text = resultado["fechanac"]
GridView1[5, 1].Alignment = Align.Normal
GridView1[5, 1].Text = resultado["cargo"]
GridView1[6, 1].Alignment = Align.Normal
GridView1[6, 1].Text = resultado["direc"]
GridView1[7, 1].Alignment = Align.Normal
GridView1[7, 1].Text = resultado["obser"]
TextBox7.Text = resultado["foto"] 'Carga la ruta de la foto
PictureBox1.Picture = Picture.Load(TextBox7.Text) 'Carga la foto
ELSE
message.Info("El registro no se encuentra en la base de datos")
ENDIF
ENDIF
END

A su pronta ayuda me depido Gracias.

base de datos: mysql
version de gambas:2.19
gb.gui

Profile PM  
Subject: Re: Control Gridview.
Tu problema es que no has implementado el evento Data, que es el encargado de rellenar cada celda a partir de la consulta siempre que se necesite.
Busca en la documentación de GridView, que creo que viene un ejemplo sencillito.

Suerte

Profile PM  
Subject: Re: Control Gridview.
Hola
Citar:
mi problema es que tengo que cargar un "gridview " de unos datos ya cargados en una base de datos y logro solo cargar las 2 primeras filas

En el código veo que primero rellenas la columna 0 (9 celdas). Esto lo veo correcto porque especificaste el rows.count=9 osea que definiste 9 filas.

Y luego rellenas la columna 1. Esto lo veo correcto porque definiste dos columnas .column.count=2

Así que defines 9 filas y dos columnas. Rellenas la columna 0 y la 1 y te quejas de que solo te ha rellenado dos ¿no es así?

No entiendo tu problema ¿cuando dices que no te llena mas que dos filas quieres decir que no llega a llenar la celda [2,0] con el contenido "apellido"?

Porque yo creo que si lo hace. Yo creo que tu te lías entre filas y columnas. Lo que has puesto te saca los datos así:

DATOS DESCRIPCION
CEDULA CAMPO_CEDULA
NOMBRE CAMPO_NOMBRE
APELLIDO CAMPO_APELLIDO
SEXO CAMPO_SEXO
FECHA DE NACIDO CAMPO_FECHA_N
CARGO CAMPO_CARGO
DIRECCION CAMPO_DIRECCION
FECHA DE INGRESO CAMPO_FECHA_I
OBSERVACIONES CAMPO_OBSERVACIONES

Y yo creo que eso es lo que te sale.


¿Podría ser que no hubieras puesto la propiedad header a gridview.horizontal?

Profile PM  
Subject: Re: Control Gridview.
buenas noches, Saludos Listo compañeros, cierto me faltaba el evento carga datos.
aqui esta el codigo:



PUBLIC id AS Integer
PUBLIC datos AS String
PUBLIC descripcion AS String

PUBLIC SUB Form_Open()
'abriendo Base de datos
MOD.Connect()
IF MOD.Connect() THEN
ELSE
message.Error("Error en la conexion")
ENDIF


'columnas de gridview
WITH gridView1
.Columns.Count = 2
.Columns[0].Text = "Datos"
.Columns[0].Width = 150
.Columns[1].Text = "Descripcion"
.Columns[1].Width = 250
.Rows.Count = 9
END WITH
gridView1[0, 0].Alignment = Align.Left
gridView1[0, 0].Text = "Cedula:"
gridView1[1, 0].Alignment = Align.Left
gridView1[1, 0].Text = "Nombre:"
gridView1[2, 0].Alignment = Align.Left
gridView1[2, 0].Text = "Apellido:"
gridView1[3, 0].Alignment = Align.Left
gridView1[3, 0].Text = "Sexo:"
gridView1[4, 0].Alignment = Align.Left
gridView1[4, 0].Text = "Fecha de Nacido:"
gridView1[5, 0].Alignment = Align.Left
gridView1[5, 0].Text = "Cargo:"
gridView1[6, 0].Alignment = Align.Left
gridView1[6, 0].Text = "Direccion:"
gridView1[7, 0].Alignment = Align.Left
gridView1[7, 0].Text = "Fecha de Ingreso:"
gridView1[8, 0].Alignment = Align.Left
gridView1[8, 0].Text = "Observaciones:"

ME.Center
END

PUBLIC SUB Button3_Click()
DIM query AS String
DIM resultado AS Result
DIM Foto_in AS String
Dialog.path = "/home/luis/proyecto/sin_foto.jpeg"
foto_in = File.Dir(Dialog.Path) & "/" & File.Name(Dialog.Path)
IF (TextBox1.Text = "") THEN
message.Info("Debe Introducir un Nº de Cédula")
ELSE
query = "select * from voluntarios where cedula ='" & TextBox1.Text & "'"
resultado = db.Exec(query)
IF resultado.Count > 0 THEN
cargardat(id, datos, descripcion)
gridView1[0, 1].Alignment = Align.Normal
gridView1[0, 1].Text = resultado["cedula"]
gridView1[1, 1].Alignment = Align.Normal
gridView1[1, 1].Text = resultado["nombre"]
gridView1[2, 1].Alignment = Align.Normal
gridView1[2, 1].Text = resultado["apellido"]
gridView1[3, 1].Alignment = Align.Normal
gridView1[3, 1].Text = resultado["sexo"]
GridView1[4, 1].Alignment = Align.Normal
GridView1[4, 1].Text = resultado["fechanac"]
GridView1[5, 1].Alignment = Align.Normal
GridView1[5, 1].Text = resultado["cargo"]
GridView1[6, 1].Alignment = Align.Normal
GridView1[6, 1].Text = resultado["direc"]
GridView1[7, 1].Alignment = Align.Normal
GridView1[7, 1].Text = resultado["obser"]
GridView1[8, 1].Alignment = Align.Normal
GridView1[8, 1].Text = resultado["obser"]
TextBox7.Text = resultado["foto"] 'Carga la ruta de la foto
PictureBox1.Picture = Picture.Load(TextBox7.Text) 'Carga la foto
ELSE
message.Info("El registro no se encuentra en la base de datos")
' TextBox1.Clear()
' TextBox2.Clear()
' TextBox3.Clear()
' TextBox4.Clear()
' TextBox5.Clear()
' TextBox6.Clear()
' PictureBox1.Picture = Picture.Load(Foto_in)
' TextArea1.Clear()
' TextBox1.SetFocus()
ENDIF

ENDIF
END


PUBLIC FUNCTION cargardat(id AS Integer, datos AS String, descripcion AS String)
GridView1[id, 0].Text = datos
GridView1[id, 1].Text = descripcion
GridView1.Refresh()
END



Saludos....

Profile PM  
Subject: Re: Control Gridview.
Se que el mensaje es antiguo.

Como estaba empezando a ver el control y no sabía como alinear las celdas.
Entre la documentación de gambas y este mensaje me entere de como hacerlo.

Esto, podrías usar un bucle anidado para las filas y las columnas y ahorrarías parte del código que se repite en la alineación.


Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1398s (PHP: -26% SQL: 126%)
SQL queries: 22 - Debug Off - GZIP Enabled