Mostrando postagens com marcador DBGrid. Mostrar todas as postagens
Mostrando postagens com marcador DBGrid. Mostrar todas as postagens

quarta-feira, 2 de janeiro de 2008

2

Evitando Lookup's

Olá pessoal, para aqueles que utilizam campos lookup's para exibir num DBGrid a descrição de uma chave estrangeira, resolvi postar aqui um exemplo utilizando uma técnica que visa evitar esse tipo de campo, melhorando e muito na performance da sua aplicação. Vale a pena dar uma conferida.

Trata-se de uma tela de pedidos/vendas, onde o usuário insere os produtos utilizando o próprio DBGrid, recuperando a descrição do produto utilizando um JOIN entre as tabelas, a parti dai, basta adicionar os fields e alterar todas as ProviderFlags do TField do campo "externo" para false, para que ele não entre na montagem do updade.

Clique aqui para baixar o exemplo

terça-feira, 6 de novembro de 2007

2

Controlar a exibição do ScrollBar do DBGrid

Muitas vezes ficamos incomodados com aquele ScrollBar que teima em aparecer mesmo que o DBGrid tenha apenas 1 ou 2 linhas.

Por causa desse incômodo que resolvi pesquisar até chegar a seguinte solução.

Coloque no evento onDrawColumnCell do seu DBGrid

procedure TForm2.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (TStringGrid(DBGrid1).RowCount-1) then
//Se tiver menos de 10 linha
ShowScrollBar(DBGrid1.Handle,SB_VERT,False);
//Remove barra Vertical
end;

É claro que você deve melhorar a lógica, como por exemplo achar o número de linhas (exibidos sem ScrollBar) dependo da altura do DBGrid.

Fonte: ActiveDelphi