Mostrando Imagens no DBGrid
Vamos fazer dois exemplos simples primeiro zebrar as linhas do DBGrid, e segundo colocaremos uma bolinha verde nos alunos que terão notas acima e igual a 7, e aos outros colocaremos uma bolinha vermelha.
procedure TForm1.dbGridRegistrosDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
lBitmap: TBitmap;
lFixRect: TRect;
lBmpWidth: Integer;
lImgIndex: Integer;
begin
if not Odd(cdsRegistros.RecNo) then begin
if not(gdSelected in State) then begin
dbGridRegistros.Canvas.Brush.Color := clSilver;
dbGridRegistros.Canvas.FillRect(Rect);
dbGridRegistros.DefaultDrawDataCell(Rect, Column.Field, State);
end;
end;
lFixRect := Rect;
if Column.Field = cdsRegistrosNOTA then begin
if cdsRegistrosNOTA.Value >= 7 then
lImgIndex := 0
else
lImgIndex := 1;
lBitmap := TBitmap.Create;
try
ImageList.GetBitmap(lImgIndex, lBitmap);
lBmpWidth := (Rect.Bottom - Rect.Top);
lFixRect.Right := Rect.Left + lBmpWidth;
dbGridRegistros.Canvas.StretchDraw(lFixRect, lBitmap);
finally
lBitmap.Free;
end;
lFixRect := Rect;
lFixRect.Left := lFixRect.Left + lBmpWidth;
end;
dbGridRegistros.DefaultDrawColumnCell(lFixRect, DataCol, Column, State);
end;
Vamos para as propriedade chamada Options do TDBGrid
dgEditing: Quando False não é mais permitido a edição no DBGrid
dbTitles: Quando True exibe a linha de apresentação dos títulos do DBGrid.
dgColLines: Quando False e removido as linhas verticais do DBGrid.
dgRowLines: Quando False e removido as linhas horizontal do DBGrid.
dgRowSelect: Quando True ao clicar em uma célula, toda a linha fica selecionada
dgMultiSelect: Quando True permite que o usuário selecione mais de uma linha por vez no DBGrid.
dbTitles: Quando True exibe a linha de apresentação dos títulos do DBGrid.
dgColLines: Quando False e removido as linhas verticais do DBGrid.
dgRowLines: Quando False e removido as linhas horizontal do DBGrid.
dgRowSelect: Quando True ao clicar em uma célula, toda a linha fica selecionada
dgMultiSelect: Quando True permite que o usuário selecione mais de uma linha por vez no DBGrid.
Vamos observar que o Grid, agora conseguimos deixar organizado, agora podemos visualizar os alunos com notas abaixo de 7 com um bolinha vermelha ao lado, e os que ficam acima com uma bolinha verde.
Este componente contem um grande número de situações e customizações possíveis, fica um desafio de você descobrir novos recursos
0 comentários:
Postar um comentário