cMFDbCJGrid
Veja também:
Pacote
A classe cMFDbCJGrid está definida no pacote cMFDbCJGrid.pkg.
Hierarquia
A classe cMFDbCJGrid é uma subclasse da classe cDbCJGrid do DataFlex e herda todas as propriedades, eventos e métodos existentes nesta classe.
Para que serve
A classe cMFDbCJGrid é uma subclasse da classe cDbCJGrid e foi especializada com alguns recursos adicionais:
- As cores da linha, célula, texto da linha e texto da célula são configuradas automaticamente de acordo com as cores definidas nas preferências do usuário.
- Ao pressionar Shift+Tab na primeira célula, o foco será “jogado” no objeto anterior, em vez de continuar dentro da dbGrid.
- Foram criadas propriedades para controlar a disponibilidade da Grid em uma tela Header/Detail.
- Um novo evento OnSetDisplayMetrics foi adicionado para que se possa controlar a cor da linha inteira em um único evento.
- Algumas propriedades tiveram seus valores configurados de forma diferente da classe ancestral:
- Set pbEditOnClick to True
- Set pbEditOnKeyNavigation to True
- Set pbSelectionEnable to True
- Set pbRestoreLayout to True
- Set psLayoutSection to (Name(Self)) (essa propriedade só será configurada se pbRestoreLayout for True)
Exemplo
Este exemplo mostra uma cMFDbCJGrid configurada para em uma tela Header/Detail:
Object oPermissoesDbGrid is a cMFDbCJGrid
Set Server to oDireito_DD
Set Ordering to 2
Set Size to 69 285
Set Location to 5 5
Set pbChildTable to True
Set phoHeader to (oGrupoUsuario_vw(Self))
Set peAnchors to anAll
:
:
Eventos
Confira abaixo a documentação dos eventos da classe cMFDbCJGrid:
OnSetDisplayMetrics
Tipo
Procedure
Para que serve
A classe cDbCJGridColumn original do DataFlex possui um evento com este mesmo nome, que permite mudar as configurações de fonte e cores de uma única célula que está sendo pintada. Em situações onde queremos pintar a linha inteira dependendo do valor de uma das colunas, eramos obrigados a definir este evento em cada uma das colunas. Com este evendo da classe cMFDbCJGrid, temos um evento centralizado para fazer isso, sem a necessidade de definir o evento em cada uma das colunas da Grid.
Parâmetros
- Handle hoGridItemMetrics: é um Handle de um objeto cComReportRecordItemMetrics. Manipule as propriedades deste objeto para modificar os atributos de exibição da linha que está sendo “pintada”.
- Integer iRow: é número da linha que está sendo pintada.
Exemplo
Procedure OnSetDisplayMetrics Handle hoGridItemMetrics Integer iRow
String sTipo
// Obtendo o valor da coluna oLOGEVENT_Cd_Tipo, que irá definir a cor da linha inteira
Get RowValue of oLOGEVENT_Cd_Tipo iRow to sTipo
Case Begin
Case (sTipo = “Informação”)
Set ComBackColor of hoGridItemMetrics to 16757683
Case Break
Case (sTipo = “Alerta”)
Set ComBackColor of hoGridItemMetrics to 9240575
Case Break
Case (sTipo = “Erro”)
Set ComBackColor of hoGridItemMetrics to 4227327
Case Break
Case End
End_Procedure
Propriedades
Confira abaixo a documentação das propriedades da classe cMFDbCJGrid:
pbChildTable
Tipo
Boolean
Valor padrão
False
Para que serve
Indica que a Grid está em uma tela no estilo Header/Detail e que só poderá ficar disponível se um registro estiver posicionado e sem alterações não salvas na tabela Header. Para que isto funcione, é necessário configurar também a propriedade phoHeader.
phoHeader
Tipo
Handle
Valor padrão
0
Para que serve
Se a propriedade pbChildTable for True, então você deve configurar esta propriedade com o identificador do objeto Header da grid. Por exemplo, em uma tela estilo Header/Detail com uma única Grid, então você deve configurar esta propriedade com o identificado da própria View, que é o Header. Em uma tela que tenha 2 grids, onde a segunda grid só exibe os registros filhos do registro posicionado na primeira Grid, você deve configurar esta propriedade com o identificador da primeira Grid.
Exemplo
Set phoHeader to (oGrupoUsuario_vw(Self))
Não encontrou o que precisava? Entre em contato conosco.
