HUMMMMMMMMMMMMMMMMMMMMMMMM, tá ceeeeeeeeeeerto.... agora estou começando a entender.... desculpa é q sou meio lento
Bom, pelo q entendi vc quer q ao clicar no cabeçalho (header) vc quer q a coluna, por exemplo, seja indexada e ao clicar no registro apareça dados sobre aquele registro... é isso??
Bom, se for isso faça assim
Private Sub MSFlexGrid1_Click()
If MSFlexGrid1.Row <> MSFlexGrid1.RowSel Then
MsgBox "coluna selecionada"
'Coloque o código caso a coluna seja selecionada
Else 'Caso seja clicado apenas uma célula
MsgBox MSFlexGrid1.Text
'Coloque o código caso a célula seja selecionada
End If
End Sub
Bom, no exemplo acima se vc selecionar somente 2 linhas ou mais da coluna escolhida (desde q não seja a coluna inteira lógico) vai ser executada como se vc tivesse clicado no cabeçalho... para corrigir coloque assim
With MSFlexGrid1
If .Row <> .RowSel And .Rows - 1 = .RowSel Then
MsgBox "coluna selecionada"
'Coloque o código caso a coluna seja selecionada
Else
MsgBox .Text
'Coloque o código caso a célula seja selecionada
End If
End With
Pronto, se vc clicar no cabeçalho vai fazer o q vc quer. Se vc selecionar 2 ou mais linhas da coluna, fazendo uma multi-seleção (não sendo a coluna inteira) será como se vc clicasse em apenas uma célula do seu grid.
Em relação a segunda parte da dúvida... vc está ligando o seu flex a um componente data e acha q ele está ficando lento??? Vc usa ADOCtrl ou datacontrol? Usa MSFlexGrid ou o MSHFlexGrid?
t+