Image w DBGrid

2 отговора 69 прегледа
#1

Image w DBGrid

Zdraweyte na wsichki !!

Imashe nachin da se wizualizira kartinkata koqto e w Bazata ot danni directno na DBGrid!! No ne se seshtam kak beshe??? Zachi ne iskam da izpolzwam componenta TDBImage a da se wizualizira na Grida !!!


Blagodaria predwaritelno!!!

Отговор
в отговор на Student #2

Re: Image w DBGrid

Здравей!
Ами рисуваш си я в канваса на клетката. Аз този начин знам
Венцислав Александрийски
[линк]

Отговор
в отговор на Student #3

Re: Image w DBGrid

Това с канваса на клетката сигурно би било интересно :), но аз ти препоръчвам да опиташ нещо подобно :

1.дропни си един DBimage компонент върху формата

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
bmpImage: tBitmap;
intX, intY: Integer;
begin
if DataSource1.DataSet.RecNo > 0 then
begin
if column.FieldName = 'COUNTRY' then
with DBGrid1.Canvas do
begin
fillRect(rect);
bmpImage := tBitmap.Create;
try

if DBGrid1.DataSource.DataSet.FieldByName('COUNTRY').AsInteger = 1 then
bmpImage.Assign(image1.Picture.Bitmap);

intX := ((rect.Right - rect.Left) div 2) -
(bmpImage.Width div 2);

intY := ((rect.Bottom - rect.Top) div 2) -
(bmpImage.Height div 2);
draw(rect.Left + intX, rect.Top + intY, bmpImage);
finally
bmpimage.Free;
end;
end;
end;
end;


Изобщо изследвай възможностите на събитието DBGridDrawColumnCell , с негова помощ можеш да слагаш почти каквото поискаш по клетките на грида, цели компоненти и т.н.

Отговор