MSFLEXGRID

chucutina
06 de Septiembre del 2003
Por favor queria pedir ayuda, porque tengo un msflexgrid sin enlazar , introduzco los datos utilizandolo como una matriz , pero cuando pongo msflexgrid.clear y lo vuelvo a llenar no me muestra los datos nuevos que he introducido en el grid sino los anteriores, pense que era que no los introducia bien pero no. Y quería que alguien me pudiera decir como puedo redibujarlo para que me muestre los ultimos datos introducidos.

presumida
06 de Septiembre del 2003
mirá nosé, de repente existe otra manera eficiente de hacerlo.., pero esto es lo que yo hice una vez..., cuando cargues el MSFLEXGRID , tiene cierto número de filas... cierto?, cuando lo quieras limpiar,(la verdad nunca utilicé el método clean...), solo actualiza la propiedad rows a 1, esto para que te asegures de que no se pierdan los encabezados de tu MSFLEXGRID, luego llama a una función de actualización que debes programar ...que al parecer ya lo hiciste o no...?
ojalá te sirva... y si encuentras otra manera de hacerlo cuentame si, me puede ayudar también...
suerte y chao!

Chucutina
06 de Septiembre del 2003
muchas gracias pero nada ami no me lo refresca , ya no se que mas hacer te pongo aqui el modulo donde despues de realizar una modificacion, insercion o eliminacion en la base de datos (que funciona correctamente) vuelvo a realizar la consulta de seleccion para que contenga en el datareader todo el contenido nuevo , llamo a este modulo y nada veo que me guarda perfectamente en el grid los valores nuevos pero no me muestra estos, sino los antiguos es comosi no se redibujara mira aqui te lo pongo.
Public Sub refrescar(ByVal orden As String)

comando = New System.Data.OleDb.OleDbCommand("Select * from Colores ORDER BY Col_Codigo " & orden, conn)
dataReader = comando.ExecuteReader
Llenar()
sggClientes.Refresh()
End Sub


Private Sub Llenar()

sggClientes.set_TextMatrix(0, 1, "Código")
sggClientes.set_TextMatrix(0, 2, "Nombre")
Dim irow As Int16 = 1
irow = 1
sggClientes.Row = 1
While dataReader.Read
sggClientes.set_TextMatrix(irow, 1, dataReader("Col_Codigo"))
sggClientes.set_TextMatrix(irow, 2, dataReader("Col_Nombre"))
irow = irow + 1
End While
sggClientes.Refresh()
dataReader.Close()

End Sub
A ver si entre las dos somos capaces de sacarlo pq jolin q dolores de cabeza.
Gracias.

Jerry
06 de Septiembre del 2003
envio posible solucion para Limpiar un MsFlexGrid

Set rs = db.OpenRecordset(strSQl)

'Limpiar El MSFlexGrid1
If Contador > 0 Then
Do While Contador > 0
MSFlexGrid1.RemoveItem Contador
Contador = Contador - 1
Loop
End If

Contador = CStr(rs.RecordCount)