Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

El Control Dataview

El Control Dataview
Artículo
Responder citando    Descargar mensaje  
Mensaje El Control Dataview 
 
Un Dataview es un control que muestra datos tabulados procedentes de una tabla y permite actualizarlos directamente. A efectos de comprensión debemos pensar en un DATAGRID en VB. Allí el Datagrid está asociado a un adodc. Aquí lo está a un datasource tal y como explico a continuación:

Crear la conexión a base de datos
Dim Cn as new Connection
Cn.type="mysql"
Cn.host="localhost"
Cn.login="usuario"
Cn.clave="1234"
Cn.name="base"
try Cn.open

Una vez tenemos una conexión activa el siguiente paso es situar en el formulario un objeto datasource que es un objeto contenedor que requiere una conexión activa.

El datasource requiere la librería GB.DB.FORM.
Las propiedades mínimas para obtener la funcionalidad del datasource son:
Datasource.table="tabla o vista" ----> la tabla debe tener un índice primario
Datasource.filter = "condicion" ---> la condición que iría en una claúsula where de una sentencia select
Datasource.readonly=true/false


Ahora insertamos el control enlazado dentro del contenedor datasource. En este caso se trata de un dataview.

Definimos cabeceras del dataview
with dataview.gridview
   .Columns[0].text="Codigo"
   .Columns[0].width=50
   .Columns[1].text="Cliente"
   .Columns[1].width=100
   ...
end with

Algunas propiedades interesantes
Dataview.grid=true/false ---> si habrá o no rejilla
Dataview.mode=none/single ---> si se seleccionará la fila entera o no.


Posicionarse en celda
Dataview.GridView[0,0] ----> primera celda
Dataview.GridView[1,0] ----> primera celda segunda fila
Dataview.GridView[,0] ----> primera celda segunda fila
Dataview.GridView(DataView.GridView.row,DataView.GridView.col] ---> celda actual




 
soplo - Ver perfil del usuario Enviar mensaje privado  
soplo [ Miercoles, 16 Septiembre 2009, 11:57 ]
 


El Control Dataview
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Hi: espero que me puedas ayudar, hace pocos dias estoi aprendiendo esto por mi mismo y bueno tengo una base de datos en mysql logre hacer la coneccion del datasource kn la tabla que quiero usar, pero no entiendo como hago para poder ver esta tabla en un dataview, intente siguiendo algunas sugerencias en paginas que encontre y ejemplos, pero okurre un error: Driver name missing....     ..... de antemano muchas gracias por tu ayuda



 
kaos_kofrn - Ver perfil del usuario Enviar mensaje privado  
kaos_kofrn [ Lunes, 21 Diciembre 2009, 06:51 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Hola kaos

Sería interesante que pusieras tu código por aquí, para poder ver qué estás haciendo mal.
En principio, el mensaje de error que recibes es bastante descriptivo: falta que declares la propiedad del tipo de base de datos que estás usando.

Suponiendo que Cn es tu objeto Connection:

Dim Cn as new Connection
Cn.type="mysql" ' ---> posiblemente te falte esto
Cn.host="localhost" '---> host donde se ubica tu motor mysql
Cn.login="usuario"
Cn.Password="1234"
Cn.name="base"  '---> nombre de tu bd
 


Saludos

P.D. Recuerda leer las normas del foro: No se permiten abreviaturas tipo SMS.



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Lunes, 21 Diciembre 2009, 14:10 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Hola Kaos_kofrn.
Como bien te dice jguardon sería bueno que nos dieras alguna información adicional. Por ejemplo en este caso no se si has conseguido conectar la base y el error lo tienes posteriormente en el dataview o si el error lo da al conectar como te dice jguardon.

Desde luego si no le has puesto a la conexión la propiedad type no sabrá que tiene que abrir pero en ese caso no habrás conseguido establecer la conexión.



 
soplo - Ver perfil del usuario Enviar mensaje privado  
soplo [ Viernes, 25 Diciembre 2009, 21:53 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Quisiera destacar que intente enlazar el control DataView a traves del contenedor DataSource y me guie por este excelente post, pero creo que hay algo que debo resaltar que no veo aqui y es que a mi particularmente el DataView no me mostro los registros hasta que hice lo siguiente adicional:
WITH Dataview1.GridView
    .Columns.Count = 4    'valor entero de acuerdo a las columnas que quiero visualizar de la tabla enlazada
END WITH
 


Espero le sirva a alguien que haya enfrentado el mismo problema!



 
DavidGrub - Ver perfil del usuario Enviar mensaje privado  
DavidGrub [ Martes, 13 Abril 2010, 22:24 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
En otra idea quisiera saber como puedo mostrar con el DataView algunos campos de una tabla, he logrado enlazarlo a traves de DataSource, pero me muestra todos los campos de los registros, yo solo quiero que me muestre algunos.

Ejemplo de la tabla:
id_users       name_users       age_users
0001            jhon                    31
0002            lethi                    34                      


Con esta tabla solo me interesa mostrar en pantalla los campos name_users y age_users

Gracias!



 
DavidGrub - Ver perfil del usuario Enviar mensaje privado  
DavidGrub [ Martes, 13 Abril 2010, 22:37 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Tengo un datasourse y un dataview, los he utilizado en postgres y corren bien, cuando los utilizo con mysql 5 me da un error: query failed;you have an error in your sql syntax check the manual that corresponds to your MYSQL server version for the right syntax to use near ' from SCestados where (cod_edo='01') limit 64 at line 1
 
la sintaxis que utilizo es la siguiente:
TRY $hConn.Close
  $hConn = NEW Connection
  WITH $hConn
    .Type = "MySQL"
    .Host = "localhost"
    .Login = "root"
    .Password = "mike2000"
    .Name = "mysql"
  END WITH
 $hConn.Open

  DataSource1.Table = "SCestados"
   DataSource1.filter = "cod_edo='" & xcod & "'"   'aqui me da el error
  DataSource1.ReadOnly = FALSE
  DataView1.Grid = TRUE
  WITH DataView1.GridView
   .columns[0].text = "Cod. Edo"
   .columns[0].width = 100
   .columns[1].text = "Cod. Mun"
   .columns[1].width = 100
  END WITH
 DataSource1.Refresh

la tabla tiene indice primario



 
Miguel1813 - Ver perfil del usuario Enviar mensaje privado  
Miguel1813 [ Miercoles, 01 Junio 2011, 21:29 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Ah utilizo gambas 2.22 en ubuntu 11.04



 
Miguel1813 - Ver perfil del usuario Enviar mensaje privado  
Miguel1813 [ Miercoles, 01 Junio 2011, 21:36 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Hola Miguel

Puede ser un error de sintaxis, puesto que la variable 'xcode' no sabemos de qué tipo es, sin embargo en la sentencia sql la tratas como tipo string.

Yo siempre recomiendo usar sustituciones a la hora de concatenar texto con variables, de esta forma:

DataSource1.filter = Subst("cod_edo='&1'", xcod) ' si xcod es un string


o

DataSource1.filter = Subst("cod_edo=&1", xcod) ' si xcod es un entero


De esa forma tendremos menos líos a la hora de colocar las comillas, etc.

CUando usamos la otra sintaxis basada en la ejecución directa de sql mediante el método Exec de la clase Connection, incluso no tendremos que preocuparnos por el tipo de dato ni las comillas, porque gambas se encarga de hacer las conversiones.

http://foro.gambas-es.org/viewtopic.php?p=3766#p3766

Saludos



 
jguardon - Ver perfil del usuario Enviar mensaje privado  
jguardon [ Jueves, 02 Junio 2011, 15:19 ]
Responder citando    Descargar mensaje  
Mensaje Re: El Control Dataview 
 
Ahora estoy conociendo mas a gambas. El codigo de posicionamiento ed celdas no me funciona. Me dice que esta linea no puede ser una sentencia. Alguine puede ayudarme?. Lo que intento es editar una celda de un DataGrid para cambiar el valor y luego guardarlo en la base de datos correspondiemte, pero la edicion no se ejecutarla. Saludos



 
gones - Ver perfil del usuario Enviar mensaje privado  
gones [ Lunes, 09 Diciembre 2019, 14:57 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron