Visual Basic - analista de sistemas

Life is soft - evento anual de software empresarial
 
Vista:

analista de sistemas

Publicado por ricardo sanzana (9 intervenciones) el 22/08/2003 15:50:10
deseo saber como editar una grilla que no sea la dbgrid
puede ser la msflexgrid 6.0 o mshflexgrid
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:analista de sistemas

Publicado por Juan (284 intervenciones) el 22/08/2003 17:20:55
Esto creo que ya lo rspondí, de echo tengo un ejemplo con el que acompañé aquella respuesta, pero no se si eras tú o otra persona. De todas formas te pongo el ejemplo.

Para usar el código inserta un msFlexGrid llamado msfg, y también un textbox con las siguientes propiedades:
name=txtEditaCelda
borderstyle=0-none
backcolor=(cualquiera distinto del fondo del flexGrid, para diferenciar)

El código lo que hace es ir colocando el textBox sobre la celda activa del
flexGrid y cambiar el texto de dicha celda con el que se va escribiendo.

El código te lo pongo en otro mensaje por si no cabe.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Código

Publicado por Juan (284 intervenciones) el 22/08/2003 17:21:52
Private Sub msfg_EnterCell()
colocaText
End Sub
Private Sub txtEditaCelda_Change()
msfg.Text = txtEditaCelda.Text
End Sub
Private Sub txtEditaCelda_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyUp
If msfg.Row > 0 Then
msfg.Row = msfg.Row - 1
End If
Case vbKeyDown
If msfg.Row < msfg.Rows - 1 Then
msfg.Row = msfg.Row + 1
End If
Case vbKeyLeft
If txtEditaCelda.SelStart = 0 Then
If msfg.Col > 0 Then
msfg.Col = msfg.Col - 1
End If
End If
Case vbKeyRight
If txtEditaCelda.SelStart = Len(txtEditaCelda.Text) Then
If msfg.Col < msfg.Cols - 1 Then
msfg.Col = msfg.Col + 1
End If
End If
End Select
End Sub
' Coloca el textBox sobre la celda actual
Private Sub colocaText()
With txtEditaCelda
.Move msfg.CellLeft + msfg.Left, msfg.CellTop + msfg.Top, msfg.CellWidth, msfg.CellHeight
.Visible = True
.ZOrder 0
.Text = msfg.Text
.SetFocus
.SelStart = Len(txtEditaCelda.Text)
End With
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar