escribir en flexgrid
Necesito saber si se puede escribir en las celdas de un flexgrid en tiempo de ejecución.
si si se puede y es super facil
pero me tuve que cavezear un monton
tyienes que dejar el recordset Optimistic
yo lo ice de estra forma
Set RsIngresoCotizacion = New ADODB.Recordset
RsIngresoCotizacion.ActiveConnection = CN
RsIngresoCotizacion.CursorType = adOpenKeyset
RsIngresoCotizacion.LockType = adLockOptimistic
RsIngresoCotizacion.CursorLocation = adUseClient
espero que te sirva
pero me tuve que cavezear un monton
tyienes que dejar el recordset Optimistic
yo lo ice de estra forma
Set RsIngresoCotizacion = New ADODB.Recordset
RsIngresoCotizacion.ActiveConnection = CN
RsIngresoCotizacion.CursorType = adOpenKeyset
RsIngresoCotizacion.LockType = adLockOptimistic
RsIngresoCotizacion.CursorLocation = adUseClient
espero que te sirva
hola la vdd yo tengo una duda, espero me puedas (o puedan) ayudar... tengo un pekeño inventario obvio en un flexgrid... y quiero editar los datos directamente.. como si fuera estilo excel q le pikas y lo editas asi sin problemas.. alguien sabe como hacer esto?
¿Has leido el resto de los posts? un poco más arriba
tienes 3 ejemplos de código fuente para hacer eso.
tienes 3 ejemplos de código fuente para hacer eso.
sdemingo, jajajajaj
bueno, ahora seamos más serios:
Mgrid1.textmatrix(fila,columna)="TEXTO A ESCRIBIR"
donde fila y columna, pues supongo que no hay que explicarlo, verdad?
eso sí, antes asegúrate de que existen esas filas y columnas, si no, dales valor con
MGRID1,COLS=numerodecolumnas
MGRID1.ROWS=numerodefilas
Saludos
bueno, ahora seamos más serios:
Mgrid1.textmatrix(fila,columna)="TEXTO A ESCRIBIR"
donde fila y columna, pues supongo que no hay que explicarlo, verdad?
eso sí, antes asegúrate de que existen esas filas y columnas, si no, dales valor con
MGRID1,COLS=numerodecolumnas
MGRID1.ROWS=numerodefilas
Saludos
Hola, otra vez.
Lo que realmente quisiera saber es, como hago para digitar en una celda de un flexgrid, estando el formulario en ejecución.
o saber con qué objeto puedo hacer esto, sin manejar bases de datos. solo introducir información en la grilla.
Lo que realmente quisiera saber es, como hago para digitar en una celda de un flexgrid, estando el formulario en ejecución.
o saber con qué objeto puedo hacer esto, sin manejar bases de datos. solo introducir información en la grilla.
Te refieres a hacer como si las celdas del msflexgrid fueran textbox?
Si es eso lo que quieres hacer, yo lo he solucionado trabajando en el evento keypress y keydown, no es demasiado complicado. Cuando se pulse una tecla en el grid, miras la celda en la que estás y le añades esa ltecla (letra, número) al contenido de la celda. Si se pulsa la tecla de retroceso borras un caracter de la celda. El único "fallo" es que no posees cursor como en el textbox, pero dado el resultado que ofrece, no hace falta.
Si necesitas un ejemplo, avisa.
Saludos
Si es eso lo que quieres hacer, yo lo he solucionado trabajando en el evento keypress y keydown, no es demasiado complicado. Cuando se pulse una tecla en el grid, miras la celda en la que estás y le añades esa ltecla (letra, número) al contenido de la celda. Si se pulsa la tecla de retroceso borras un caracter de la celda. El único "fallo" es que no posees cursor como en el textbox, pero dado el resultado que ofrece, no hace falta.
Si necesitas un ejemplo, avisa.
Saludos
Te agradecería si me envías un ejemplo del codigo. Creo que esto es lo que necesito.
Gracias.
Gracias.
pon un msflexgrid MGRID1 y añade este código:
Private Sub MGrid1_EnterCell()
MGrid1.CellBackColor = RGB(240, 240, 240)
End Sub
Private Sub MGrid1_LeaveCell()
MGrid1.CellBackColor = RGB(255, 255, 255)
End Sub
Private Sub MGrid1_KeyPress(KeyAscii As Integer)
Dim T As String
T = MGrid1.Text
If KeyAscii = 8 Then
If Len(T) > 0 Then T = Left(T, Len(T) - 1)
Else
T = T + Chr(KeyAscii)
End If
MGrid1.Text = T
End Sub
como verás, cambio el color de la celda para saber donde está el "cursor". la tecla de borrado izquierda funciona como debe ser, y la de suprimir, al no haber cursor, no tiene sentido, aunque yo a veces hago que borre toda la celda (depende de la aplicación)
Saludos
Private Sub MGrid1_EnterCell()
MGrid1.CellBackColor = RGB(240, 240, 240)
End Sub
Private Sub MGrid1_LeaveCell()
MGrid1.CellBackColor = RGB(255, 255, 255)
End Sub
Private Sub MGrid1_KeyPress(KeyAscii As Integer)
Dim T As String
T = MGrid1.Text
If KeyAscii = 8 Then
If Len(T) > 0 Then T = Left(T, Len(T) - 1)
Else
T = T + Chr(KeyAscii)
End If
MGrid1.Text = T
End Sub
como verás, cambio el color de la celda para saber donde está el "cursor". la tecla de borrado izquierda funciona como debe ser, y la de suprimir, al no haber cursor, no tiene sentido, aunque yo a veces hago que borre toda la celda (depende de la aplicación)
Saludos