Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Evento Data
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Evento Data 
 
Hola gente, después de bastante tiempo estoy intentando actualizar un pequeño programa que hice para uso personal, para lo cual me he planteado primero entender el uso del evento DATA y después, el uso de claves foráneas en la base de datos, me he bajado el ejemplo que puso hace un tiempo Shordi para intentar comprender el uso, no tengo error al correr el formulario, pero sí lo obtengo en los datos que muestra el grid, en todos aparece la palabra False, entiendo (o al menos es lo que creo) se trata de un error de valor, pero en lo concreto no logro entender que hago mal, si alguien puede ver el código y entiende donde me equivoco, agradezco me lo indiquen. También pongo una captura de pantalla con el resultado del formulario de muestra.

Gracias de antemano


' gambas class file

Private cx As New Connection
Private rs As Result
Private id As Integer

Public Sub Form_Open()
  Dim sql As String
    
  'PROVEEDORES
  cmbRELACION.Add("Contacto")
  cmbRELACION.Add("Cliente")
  cmbRELACION.Add("Proveedor")
  cmbRELACION.Add("Cliente/Proveedor")

  'PROVEEDORES
  cmbPOSICIONFISCAL.Add("Consumidor final")
  cmbPOSICIONFISCAL.Add("Exento")
  cmbPOSICIONFISCAL.Add("Responsable inscripto")

  'DISEÑO DEL GRID DE PERSONAS FISICAS
  With tbPERSONASFISICAS
  .Header = tbPERSONASFISICAS.Horizontal
  .Grid = True
  .Rows.Count = 0
  .Columns.Count = 15
  .Header = True
  .Columns[0].Title = "" 'ID
  .Columns[0].Width = 0
  .Columns[1].Title = "" 'Relación
  .Columns[1].Width = 0
  .Columns[2].Title = "" '>> Apellido, Nombre
  .Columns[2].Width = 400
  .Columns[3].Title = "" 'Domicilio
  .Columns[3].Width = 0
  .Columns[4].Title = "" 'Código Postal
  .Columns[4].Width = 0
  .Columns[5].Title = "" 'Localidad
  .Columns[5].Width = 0
  .Columns[6].Title = "" 'Provincia
  .Columns[6].Width = 0
  .Columns[7].Title = "" 'País
  .Columns[7].Width = 0
  .Columns[8].Title = "" '>> Telefono1
  .Columns[8].Width = 150
  .Columns[9].Title = "" '>> Telefono2
  .Columns[9].Width = 150
  .Columns[10].Title = "" 'email
  .Columns[10].Width = 0
  .Columns[11].Title = "" 'website
  .Columns[11].Width = 0
  .Columns[12].Title = "" 'cuil cuit
  .Columns[12].Width = 0
  .Columns[13].Title = "" 'cbu
  .Columns[13].Width = 0
  .Columns[14].Title = "" 'posicion fiscal
  .Columns[14].Width = 0
  End With
  
  cx = Mconex.conectar()
  sql = "select IDPERSONAFISICA as ID from PERSONAFISICA"
  rs = cx.Exec(sql)
  cx.Commit

End

Public Sub Form_Activate()
  
  tbPERSONASFISICAS.Rows.Count = rs.Count
  
End

Public Sub tbPERSONASFISICAS_Data(Row As Integer, Column As Integer)
  
  rs.MoveTo(Row)
  tbPERSONASFISICAS.Data.Text = Str(rs[tbPERSONASFISICAS.Columns[Column].Text])
  
End

 


captura_de_pantalla_2020_04_05_15_32_34
 



 
imagomundi - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evento Data 
 
Por lo que veo, estás intentando llenar el gridview con una consulta a la base de datos que sólo recoge el campo ID, que por otra parte tienes escondido en la visualización del grid (tiene anchura 0 dicha columna, por lo tanto no se muestra). Entonces, el resto de celdas no contienen datos o éstos se interpretan como False.

SELECT IDPERSONAFISICA AS ID FROM PERSONAFISICA


Normalmente la consulta debe devolver el mismo número de campos que quieres mostrar en el grid (o alguno más, como los que tienes ocultos).
Algo así:

SELECT *  FROM PERSONAFISICA


Devolvería todos los registros de todos los campos/columnas. Como consejo a la hora de crear la base de datos, normalmente los campos se suelen definir en minúscula sin caracteres especiales, salvo el guión bajo si quieres poner nombres compuestos. En la sintaxis SQL, aunque no es estrictamente necesario, lo único que va en mayúscula son las palabras clave, como SELECT y FROM, etc.


Y por cierto, no sé por qué tienes la propiedad .Title de cada columna con texto vacío, pudiendo haber puesto lo que tienes comentado como título del encabezado.

Intenta con una consulta que devuelva los valores correspondientes a las columnas (campos en la BD).

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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Evento Data 
 
Alberto: Coincido con lo que te dice Jesús de la SQL. Dejo un fragmento de código de como manejar el evento data.
Para los nombres de los campos podes usar una String[] o una Collection. que te ayudara  ahacer código mas sencillo.

Dim con As Connection
Dim tbl As Table
Dim stxFld As New String[]

tbl = con.Tables[tb]

 For Each fld In tbl.Fields
    stxFld.Add(fld.Name)
 Next  

If resShow.Available Then
  resShow.MoveTo(Row)
  xFld = stxFld[Column]
  
  GridView1[Row, Column].Text = resShow[xFld]

  ' Para dar un color levemente distinto a cada fila respecto a la anterior
  If (Row Mod 2) = 0 Then
    GridView1[Row, Column].Background = Color.TextBackground
  Else
    GridView1[Row, Column].Background = Color.Background
  Endif
  
Endif
GridView1.Refresh

End
 

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Mas Sobre GridView Heredado Y Su Evento Data shordi Controles/Librerías/Componentes 6 Martes, 05 Octobre 2010, 11:34 Ver último mensaje
shordi
No hay nuevos mensajes Problema Con El Evento Data De GridView. D... Shell General 15 Sabado, 22 Noviembre 2014, 00:21 Ver último mensaje
Shell
No hay nuevos mensajes Evento Data, Colorear Celdas Y Ver Texto Shell General 13 Sabado, 28 Noviembre 2015, 14:37 Ver último mensaje
Shell
No hay nuevos mensajes Como Controlar El Evento Data De Gridview? vr_rv Bases de Datos 6 Jueves, 23 Junio 2016, 22:34 Ver último mensaje
jguardon
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

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


 
Lista de permisos
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



  

 

cron