Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/10/2010, 00:28
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 14 años, 5 meses
Puntos: 53
Respuesta: como llenar una msflexgrid por medio de textbox

Hola:

El error este es lógico que se te produzca ya que si analizas la rutina verás que:

AddGrid grd, 1, 0, Text1
AddGrid grd, 1, 1, Text2
AddGrid grd, 1, 2, Text3
AddGrid grd, 1, 3, Text4
AddGrid grd, 1, 4, Text5

Estas instrucciones SIEMPRE envian el dato a la fila 1 ya que tu le debes indicar en que fila debe añadir el dato por tanto necesitas un contador para saber en que fila debe ponerlos.

Supongo que después harás algo con los datos, guardarlos en un archivo, volverlos a cargar posteriormente desde un archivo, etc., de ahí que la utilidad de la rutina es precisamente porque el programador determina donde deben ir los datos y no el programa.

Podrías utilizar la propiedad grd.Rows para saber cual es la última pero tendrás el mismo problema que tenías con el AddItem

AddGrid grd, grd.Rows, 0, Text1

Posibilidades hay muchas, se podría incluso modificar la función de tal manera que al enviarle por ejemplo Fila = -1, la misma averiguara cual es la Fila que debe ocupar, basándose en alguna comparacion de datos en Blanco, suponiendo ello que el programa tiene una verificación por ejemplo que no permita introducir el código en blanco.

En este caso concreto, la solucion es muy facil, pero piensa en todo lo que te he comentado anteriormente:

Código vb:
Ver original
  1. Private Sub cmd_agre_Click()
  2.   Static Fila As Single
  3.   Fila = Fila + 1
  4.   AddGrid grd, Fila, 0, Text1
  5.   AddGrid grd, Fila, 1, Text2
  6.   AddGrid grd, Fila, 2, Text3
  7.   AddGrid grd, Fila, 3, Text4
  8.   AddGrid grd, Fila, 4, Text5
  9. End Sub


Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...