FLEXGRID

 Tópico anterior Próximo tópico Novo tópico

FLEXGRID

VB / VBA

 Compartilhe  Compartilhe  Compartilhe
#484494 - 14/09/2018 17:41:28

RICOCARDOZO
PONTA GROSSA
Cadast. em:Março/2004


 Anexos estao visíveis somente para usuários registrados

Olá estou implementando um cadastro direto do flexgrid gostaria de uma ajuda no seguinte:

Conforme a imagem da tela , os campos que não estão em negrito é onde o usuário poderá fazer as alterações , como posso bloquear a edição nas linhas em negrito ou pular na hora de preencher os dados.

Segue o código:

Private Sub zebra_negrito()
Dim lin As Integer
    Dim coluna As Integer
    
    For lin = 1 To Grade.Rows - 1 Step 2
        Grade.Row = lin
        
        For coluna = 1 To Grade.Cols - 1
        
            Grade.Col = coluna
            Grade.CellFontBold = True
            Grade.CellFontSize = 16
                        Grade.CellForeColor = &H80000012

        Next coluna
    
    Next lin
Grade.Row = 1
End Sub
Private Sub Grade_DblClick()
GridEdit Asc(" ")
End Sub
Private Sub Grade_KeyPress(KeyAscii As Integer)
GridEdit KeyAscii
End Sub
Sub GridEdit(KeyAscii As Integer)
'use correct font
Text1.FontName = Grade.FontName
Text1.FontSize = Grade.FontSize

Select Case KeyAscii
    Case 0 To Asc(" ")
    Text1 = Grade
    Text1.SelStart = 0
    Case Else
    Text1 = Chr(KeyAscii)
    Text1.SelStart = 1
End Select

Text1.Left = Grade.CellLeft + Grade.Left + 40
Text1.Top = Grade.CellTop + Grade.Top + 10
Text1.Width = Grade.CellWidth
Text1.Height = Grade.CellHeight - 10
Text1.Visible = True
Text1.SetFocus
End Sub
Private Sub Grade_LeaveCell()
    If Text1.Visible Then
    Grade = Text1
    Text1.Visible = False
    End If
End Sub
Private Sub Grade_GotFocus()
    If Text1.Visible Then
    Grade = Text1
    Text1.Visible = False
    End If
    Grade.ColAlignment(1) = 1
End Sub
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)

Select Case KeyCode
        Case vbKeyEscape
        Text1.Visible = False
        Grade.SetFocus
        Case vbKeyReturn
        Grade.SetFocus
        Case vbKeyDown
        Grade.SetFocus
        DoEvents

    If Grade.Row < Grade.Rows - 1 Then
    Grade.Row = Grade.Row + 1
    End If

        Case vbKeyUp
        Grade.SetFocus
        DoEvents
    If Grade.Row > Grade.FixedRows Then
    Grade.Row = Grade.Row - 1
    End If
End Select

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then
Grade.Row = Grade.Row + 1
End If
End Sub







Resposta escolhida #484648 - 26/09/2018 12:04:41

EPISCOPAL
VARZEA GRANDE
Cadast. em:Maio/2009


Tem que ser no flexgrid

____________________________________________________________________
Ecclesiastic Office Episcopal




 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por RICOCARDOZO em 10/10/2018 17:12:31