Postada em 20/05/2009 14:15 hs
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
|