Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Problema Al Insertar Datos A Un TableView[Solucionado]
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Problema Al Insertar Datos A Un TableView[Solucionado] 
 
Hola como andan?, muy lindo el foro asi que me les uni y ahora necesito de su sabiduria. El problema es el siguiente

Tengo un formulario llamado FMain y en el un TableView (TIni) junto con un boton agregar que me lleva a otro formulario AgregarAlEncuentro en este lleno los datos y los envio a una funcion AgregarTabla (string, int, int, int) que supuestamente me deberia agregar elementos a TIni pero me tira un error de Bad Row Index. Aca van los codigos

'Cuando Abro el FMain
PUBLIC SUB Form_Open()
  RANDOMIZE
  TIni.Columns.Count = 4
  TIni.Columns[0].Text = "INI"
  TIni.Columns[1].Text = "Nombre"
  TIni.Columns[2].Text = "HP"
  TIni.Columns[3].Text = "Maltrecho"
  TIni.Header = 1
  TIni.Clear
END

PUBLIC SUB ButtonAgregar_Click() '<----- Boton que me llama al otro form (AgregarAlEncuentro)
  TIni.Enabled = TRUE
  AgregarAlEncuentro.Show

END

PUBLIC SUB AgregarTabla(nom AS String, ini AS Integer, pg AS Integer, mal AS Integer) '<---- Funcion que me deberia agregar datos al TableView
  DIM fila AS Integer
  fila = TIni.Rows.Count + 1
  'Message.Info(Str(fila))
  TIni.Rows.Count = fila
  
  TIni[fila, 0].Text = ini '<-- Aqui salta el problema [b]"BAD ROW INDEX"[/b]
  TIni[fila, 1].Text = nom
  TIni[fila, 2].Text = pg
  TIni[fila, 3].Text = mal
  
END

PUBLIC SUB ButtonAgregar_Click() '<---- Este es el boton que esta en el Form AgregarAlEncuentro y me llama a AgregarTabla
  
  FMain.AgregarTabla(TextBoxNombre.Text, ValueBoxIniciativa.Text, ValueBoxHP.Text, ValueBoxMaltrecho.Text)
  
END
 


Distro: Ubuntu Netbook Remix 10.04
gambas 2
GNOME

EDIT SOLUCION:

Para los que le pasa lo mismo ACUERDENSE de que las FILAS (ROW) comienzan en 0 INDEPENDIENTEMENTE del HEADER




Espero que puedan ayudarme
 



 
última edición por demonshack el Sabado, 28 Agosto 2010, 02:05; editado 2 veces 
demonshack - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Insertar Datos A Un TableView 
 
'Cuando Abro el FMain
PUBLIC SUB Form_Open()
  RANDOMIZE '<---- quita esta linea<----
  TIni.Columns.Count = 4
  TIni.Columns[0].Text = "INI"
  TIni.Columns[1].Text = "Nombre"
  TIni.Columns[2].Text = "HP"
  TIni.Columns[3].Text = "Maltrecho"
  TIni.Header = 1
  TIni.Clear  '<---- quita esta linea<----
  TIni.Rows.Count = 1 '(o las que quieras)<---- añade esta linea
END
 




Eso ocurre porque el gridview aún no tiene filas definidas. Debería tener al menos 1 desde el principio, así que añádela al final de la rutina.

Quita el RANDOMIZE, que ahí no tiene ningún sentido y lo más importante, quita Tini.Clear, pues justo después de preparar tu gridview, lo estás limpiando -incluso las cabeceras...

También creo que te sobra la línea  TIni.Rows.Count = fila en el método  AgregarTabla(), porque a mi entender estás asignando de nuevo el nº de fila que estás agregando, al nº total de filas que va a contener el gridview.


PUBLIC SUB AgregarTabla(nom AS String, ini AS Integer, pg AS Integer, mal AS Integer) '<---- Funcion que me deberia agregar datos al TableView
  DIM fila AS Integer
  fila = TIni.Rows.Count + 1
  'Message.Info(Str(fila))
  ' TIni.Rows.Count = fila
  
  TIni[fila, 0].Text = ini '<-- Aqui salta el problema [b]"BAD ROW INDEX"[/b]
  TIni[fila, 1].Text = nom
  TIni[fila, 2].Text = pg
  TIni[fila, 3].Text = mal
  
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"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Problema Al Insertar Datos A Un TableView 
 
Bueno cabe que aclare unas cositas antes ^^
el Randomize lo uso en otro función.
el fila lo usaba para incrementar las filas a medida que ingresaba datos, asi que te muestro lo que me quedo, pero sigue saltando el error

PUBLIC SUB ButtonAgregar_Click()
  
  TIni.Rows.Count = 1 '<----- Aca le dejo al menos 1 como me dijiste
  AgregarAlEncuentro.Show

END


PUBLIC SUB AgregarTabla(nom AS String, ini AS Integer, pg AS Integer, mal AS Integer)
  'Message.Info(Str(fila))
  TIni[1, 0].Text = ini         '<--- Aun asi me tira error
  TIni[1, 1].Text = nom
  TIni[1, 2].Text = pg
  TIni[1, 3].Text = mal
  TIni.Rows.Count = TIni.Rows.Count + 1 <-- Aca aumento una fila
  ' <<-- Tengo que aclarar que use en donde figura el 1 en TIni[1,0] TIni.Row y asi me funciono, pero nose como hacer que avance el puntero de la fila, si supiera lo podría solucionar, creo? -->>
END


Saludos
 



 
demonshack - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

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