Fórum Titulos de um DbGrid transformados em ComboBox #208086

21/01/2004

0

Estimados, gostaria de por a seguinte questão: existe alguma maneira de modificar os títulos das colunas de um DbGrid?

O que pretendo é que os títulos sejam semelhantes a um combobox. Por exemplo numa coluna da DbGrid (nomes de pessoas) essa combo registaria todas as ocorrências diferentes na coluna. Noutra coluna (moradas, por exemplo) registaria todas as ocorrência de moradas e por aí fora. Consegue-se fazer isto?

Obrigado a todos
bacalhau


Bacalhau

Bacalhau

Responder

Posts

21/01/2004

Motta

O nº de ocorrencia de cada coluna pode ser e será diferente, como fazer isto para cada coluna ?

Acho que não entendi o que vc quer


Responder

Gostei + 0

21/01/2004

Paulo_amorim

Olá

bom, mudar o titulo da coluna eh possivel com o comando
     dbgrid.Columns.Items[0].Title.Caption := ´aaa´


mas também nao entendi bem a pergunta...

Até+


Responder

Gostei + 0

22/01/2004

Bacalhau

Ok, eu ponho a questão de outra maneira. Vamos supor que eu tenho um dbgrid com uma só coluna. Nessa coluna aparecem os seguintes valores:

1
2
2
3
4
4
1

O que eu gostaria de fazer era o titulo da coluna comportar-se como uma combobox, isto é quando fosse clicado mostrar diversas linhas.

Essas linhas seriam as ocorrências dos valores na coluna, isto é, 1, 2, 3 e 4.


Responder

Gostei + 0

22/01/2004

Motta

na query faça

select distinct coluna
from tabela
where ....


Responder

Gostei + 0

22/01/2004

Bacalhau

Ceto colega Motta. Mas como fazer o título comportar-se como uma combobox? A verdadeira dificuldade está aí. Nem sei se será possivel sem componentes adicionais


Responder

Gostei + 0

22/01/2004

Motta

Realmente não sei


Responder

Gostei + 0

22/01/2004

Pbjr

Baixa este [url]http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=338[/url] exemplo que ele deve te mostrar...


Responder

Gostei + 0

23/01/2004

Paulo_amorim

Olá

Embora não seja ´correto´, pode-se tentar uma gambiarra, colocano um combobox invisivel no titulo da coluna...

no OnTitleClick, tornaria o combobox visivel com os valores do grid...

entretanto, isso eh MUITA gambiarra, vê-se logo... :oops:


Responder

Gostei + 0

23/01/2004

Bacalhau

Colega Paulo_Amorim, de facto já tentei isso há algum tempo, tentando ´ancorar´ um combobox ao título. Mas o resultado foi um desastre. (Pronto já confessei... :oops: )

Mas seria uma forma de solucionar, se essa ´ancoragem´ fosse perfeita. Isto é, ao redimensionar ou mover uma coluna, a combobox ´iria atrás´. Tens alguma ideia de como isto se faz?


Responder

Gostei + 0

26/01/2004

Paulo_amorim

Olá

Ainda tenho vergonha disso...ahaha

Que tal se vc travasse a largura da coluna? o usuario nao poderia mudar e nao descobriria...nao serve?


Responder

Gostei + 0

26/01/2004

Bacalhau

Paulo, na realidade a ideia não é tão louca assim. Não haverá forma de a combobox se deslocar e dimensionar da mesma forma da coluna?

Deve haver alguma propriedade meio louca, mas sinceramente não sei.


Responder

Gostei + 0

27/01/2004

Paulo_amorim

Olá

Realmente deve ter!...

E se em algum evento de resize da coluna vc fizesse o Combo.Width receber o tamanho da coluna...?nao eh possivel???

Vou tentar aqui tambem...

Se conseguir, e puder me informar, ficaria grato!

Até+


Responder

Gostei + 0

27/01/2004

Bacalhau

Exactamente. Não só redimensionar como mover-se sempre que a coluna é movida. Se conseguires alguma coisa diz

abraço
bacalhau


Responder

Gostei + 0

27/01/2004

Beppe

Tem umas coisas que não entendi:

1) O título da coluna se pareceria sempre com uma combo, com setinha e caixa de texto e tudo?
2) a combo abre por sobre as células?
3) Quando um item é escolhido faz o que?


Responder

Gostei + 0

27/01/2004

Bacalhau

Beppe, cá vão as respostas

1. Sim. A ideia é que o título se comporte como uma combobox. É exactamente isso

2. Certo. É aberto o seu conteúdo por cima dos valores da coluna.

3. Quando for clicado um item ele deverá ir para o registo cujo valor é o clicado.

Este comportamento pode ser visto no Excel, quando organizamos a informação e pretendemos ordenar, filtrar, pesquisar, etc.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar