Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou usando o codigo abaixo para editar diretamente na celula do flexgrid. até ai tudo bem! Meu FlexGrid tem 10 colunas sendo que a coluna 1 eu tenho que numerar automaticamente, só que quando faço isso atraves do IncluirDados() rotina logo abaixo, trava todas as celulas evitando a edição. Alguem sabe me dizer onde esta o erro? Saliento que a edição funciona normalmente sem configurar a coluna 1.
Private Sub Grid_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 30 To 136
If Grid.Col >= 2 Then
Grid.text = Grid.text & UCase(Chr(KeyAscii))
End If
Case vbKeyBack 'ou Case 8 - Delete the previous character when the backspace key is used.
With Grid
If Trim(.text) <> "" Then .text = Mid(.text, 1, Len(.text) - 1)
End With
Case 13 'Mudando de celula com enter
If Grid.Col < 10 Then
Grid.Col = Grid.Col + 1
Else
Grid.Rows = Grid.Rows + 1
Grid.Row = Grid.Row + 1
If Grid.Rows > 7 Then
Grid.ColWidth(5) = 6700
End If
Dim i As Integer
For i = 1 To Grid.Rows - 1
Grid.RowHeight(i) = 320 'almenta a altura da linha
Next i
Check
Grid.Col = 2 'MSFlexGrid1.Col + 1
End If
End Select
With Grid ' Muda a fonte das linhas
For i = 1 To .Cols - 1
For j = 1 To .Rows - 1
If .TextMatrix(j, i) <> "" Then
.CellFontSize = 11
.CellFontName = "times new roman"
End If
Next j
Next i
End With
'CordeFundo Grid
End Sub
Private Sub IncluirDados()
Dim i As Integer
With Grid
.Rows = .Rows + 1
Dim a As Integer
For a = 1 To .Rows - 1
.TextMatrix(a, 1) = a
Next
Next i
End With
End Sub
Carregando comentários...