Image w DBGrid
2 отговора
69 прегледа
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!!!
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!!!
Re: Image w DBGrid
Здравей!
Ами рисуваш си я в канваса на клетката. Аз този начин знам
Венцислав Александрийски
[линк]
Ами рисуваш си я в канваса на клетката. Аз този начин знам
Венцислав Александрийски
[линк]
Re: Image w DBGrid
Това с канваса на клетката сигурно би било интересно :), но аз ти препоръчвам да опиташ нещо подобно :
1.дропни си един DBimage компонент върху формата
Изобщо изследвай възможностите на събитието DBGridDrawColumnCell , с негова помощ можеш да слагаш почти каквото поискаш по клетките на грида, цели компоненти и т.н.
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 , с негова помощ можеш да слагаш почти каквото поискаш по клетките на грида, цели компоненти и т.н.