Como manter uma coluna fixa no DBGrid?
10/08/2004
0
Como eu faço para manter uma coluna fixa no DBGrid?
Obrigado
Daniel :D
Dpbraz
Posts
10/08/2004
Vinicius2k
Já vi e testei este código :
type THackDBGrid = class(TDBGrid); procedure TForm1.FormShow(Sender: TObject); begin THackDBGrid(DBGrid1).FixedCols:= 2; end;
Mas me causa um efeito um tanto estranho : a coluna fixa, mas fica duplicada e sem título quando é rolada...
É a única ´pseudo´ solução que conheço para fixar colunas em uma DBGrid...
T+
11/08/2004
Dpbraz
obrigado pela dica.
Eu também já havia tentado este código e aconteceu a mesma coisa entre outros problemas.
Eu estava pensando em uma forma para fazer isso mas eu precisaria saber como em faço para pegar quais as colunas estão visiveis na tela do formulário.
Ex.: Se meu grid tiver 100 colunas, óbvio que eu não vou conseguir visualizar todas juntas na tela. Então eu queria pegar somente as que estão aparecendo na tela. Será que você saberia como fazer isso?
Obrigado pela ajuda
Daniel :D
type THackDBGrid = class(TDBGrid); procedure TForm1.FormShow(Sender: TObject); begin THackDBGrid(DBGrid1).FixedCols:= 2; end;
11/08/2004
Vinicius2k
Nunca tentei fazer nada parecido e assim de ´bate e pronto´ não teria solução... Posso pensar e testar e voltar a postar neste tópico se tiver algum sucesso, OK?
T+
11/08/2004
Cabelo
Tente gerar um novo componente que descende de um TDBGrid..
Adicione a propriedade FixedCols tipo integer;
utilize a função do código que o Vinicius passou, e compile o componente e instale ele..
use o componente, colocando o número de colunas que vc quer fixar..
No evento onDrawCollumnCell coleque um abort, isso dentro da unit do componente..
Espero ter ajudado..
Cabelo
19/10/2006
Edivaldo_ap
Clica no DBGrid e vai em Options - e deixa a propriedade dgCollumnResize em FALSE a coluna não poderá ser redimensionada.
Espero ter ajudado.
Clique aqui para fazer login e interagir na Comunidade :)