Delphi de ClientDataSet Kullanımı
Merhaba arkadaşlar bu makalemizde clientdataset kullanımını göreceğiz. Formumuza Palette kısmından DBGrid, DBNavigator, DataSource ve ClientDataSet ekleyelim.
ClientDataSet i seçelim. ObjectInspector kısmından FileName kısmından veritabanımızın yolunu seçelim.
Bu örnekte D:\ufodata.xml xml dosyasını yolunu tanımlıyoruz. Sonra Active kısmını true yapıyoruz. DataSource nesnesini seçiyoruz. ObjectInspector kısmından DataSet özelliğini ClientDataSet1 yapalım.
DBGrid1 ve DBNavigator1 nesnesinin DataSource özelliğini DataSource1 yapalım.
Şekil 1
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Datasnap.DBClient,
Vcl.ExtCtrls, Vcl.Buttons, Vcl.DBCtrls, Vcl.Grids, Vcl.DBGrids;
type
TColorDBGrid = Class(TCustomDBGrid);
TForm1 = class(TForm)
DBGrid1: TDBGrid;
DBNavigator1: TDBNavigator;
ClientDataSet1: TClientDataSet;
DataSource1: TDataSource;
procedure FormCreate(Sender: TObject);
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
with TColorDBGrid(Sender) do begin
if DataLink.ActiveRecord = Row - 1 then begin
Canvas.Brush.Color := clLime;
Canvas.Font.Color := clWhite;
Canvas.Font.Size :=14;
Canvas.Font.Style := [fsBold,fsItalic];
end
else begin
Canvas.Brush.Color := clWindow;
Canvas.Font.Color := clWindowText;
end;
DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
//ClientDataSet1.FieldDefs.Add('ID', ftString, 10, False);
//ClientDataSet1.FieldDefs.Add('DESC', ftString, 25, False);
//ClientDataSet1.FieldDefs.Add('LOCATION', ftString, 16, False);
//ClientDataSet1.FieldDefs.Add('COUNTRY', ftString, 16, False);
//ClientDataSet1.FieldDefs.Add('CE', ftString, 1, False);
//ClientDataSet1.FieldDefs.Add('SOURCE', ftString, 25, False);
//ClientDataSet1.FieldDefs.Add('DURAT', ftString, 16, False);
//ClientDataSet1.FieldDefs.Add('WIT', ftString, 5, False);
//ClientDataSet1.FieldDefs.Add('SHAPE', ftString, 10, False);
//ClientDataSet1.FieldDefs.Add('APPEAR', ftString, 10, False);
//ClientDataSet1.FieldDefs.Add('SIZE', ftString, 10, False);
//ClientDataSet1.FieldDefs.Add('OCC', ftString, 3, False);
//ClientDataSet1.FieldDefs.Add('LINK2', ftString, 50, False);
//ClientDataSet1.FieldDefs.Add('NOTES', ftMemo, 10, False);
//ClientDataSet1.CreateDataSet;
end;
end.
Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN