Quarta-feira, Abril 06, 2005

Colocando uma combobox em uma DBGrid

Um leitor perguntou-me como colocar uma Combobox em uma DBGrid. Meu livro de dicas mostra como colocar um Combobox numa StringGrid, mas não numa DBGrid.
A DBGrid é um pouco mais complicada que a StringGrid, pois não existe o conceito de células como na StringGrid.
Porém, nem tudo está perdido: as colunas da DBGrid tem uma propriedade chamada PickList, que permite colocar as opções numa lista, que serão mostradas quando a coluna é editada.
Para preenchê-la, basta abrir o editor de colunas da DBGrid, selecionar a coluna desejada, abrir o editor da PickList e colocar as opções para aquela coluna. Assim, ao editar a coluna, abre-se a combobox.

11 Comentários:

At 9:32 AM, Anonymous Adm. Wilson Silva disse...

Excelente dica da Utilização do ComboBox em uma DBGrid, uma solução simples, mas muito eficiente. Resolveu meu problema rápido e sem complicação.

 
At 3:15 PM, Anonymous Anônimo disse...

Como faço pra abrir uma Picklist sem ter que clicar no DbGrid?

 
At 4:35 PM, Blogger Bruno disse...

Você pode tentar isso no evento OnColEnter da grid:
if DBGrid1.Columns[DBGrid1.SelectedIndex].PickList.Count > 0 then begin
keybd_event(VK_F2,0,0,0);
keybd_event(VK_F2,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,0,0);
keybd_event(VK_DOWN,0,0,0);
keybd_event(VK_DOWN,0,KEYEVENTF_KEYUP,0);
keybd_event(VK_MENU,0,KEYEVENTF_KEYUP,0);
end;

 
At 1:37 PM, Anonymous Anônimo disse...

Desafio...Como faço para funcione o autocompletar, como se fosse no combobox

 
At 7:21 PM, Blogger Bruno disse...

Nunca testei, mas você pode usar o evento OnKeyPress para posicionar no local correto.

 
At 11:45 AM, Anonymous Anônimo disse...

eu gostaria de saber o seguinte... adicionei um combobox em um dbgrid baseado em uma tabela para cadastrar os usuarios.. ate ai tudo bem e funciona corretamente... minha duvida e problema e o seguinte: eu tenho que colocar um campo para trazer a descricao do usuario mas nao pode salvar na tabela do dbgrid(mesmo pq na tabela do dbgrid somente tem o codigo do usuario). obrigado

 
At 4:03 PM, Blogger Bruno disse...

Não deu para entender direito, mas se você só quer mostrar o conteúdo do campo, por que não usar uma query e mostrar ele, ou então criar um campo lookup e mostrar o resultado?

 
At 9:13 PM, Anonymous Ricardo B Souza disse...

Como faço para gravar fotos em um banco de dados Paradox.

 
At 5:14 PM, Anonymous Anônimo disse...

Poxa Valeu mesmo!!
Eu tava igual uma idiota procurando!!
Obrigada!!

Andressa =)

 

Postar um comentário

<< Home