Yaz  Font K   lt Yaz  Font B y lt

Delphide DBGrid Nesneside Çok Seçim Yapmak

 

Merhaba arkadaşlar bu makalemizde DBGrid nesnesinde çoklu seçim nasıl yapılır onu göreceğiz.

Formumuza Palette kısmından 1 adet DBGrid  DBEdit, 1 adet Button ekleyelim. Ayrıca formumuza 1 er adet DataSource, FDConnection ve FDQuery ekleyelim.

 

Bu örneğimizde MySql veritabanına bağlanacağız. İlk önce MySql veritabanına bağlantı yapmamız gerekiyor. FDConnection a sağ tıklıyoruz. Açılan pencerede Connection Editor e tıklıyoruz. FD Connection Editor de Driver ID kısmından My SQL i seçiyoruz. Sonra Mysql database i ve bağlantı şifresini girip, veritabanına bağlantıyı sağlıyoruz. FDConnection nesnesinin Activated özelliğini aktif yapıyoruz.  Şimdi FDQuery nesnesi seçiliyken Object Inspector Properties kısmından Connection kısmında FDConnection u seçiyoruz. FDQuery nesnesinin SQL kısmındaki üç noktaya tıklayıp, açılan pencereye Sql komutumuzu yazıyoruz. Ben bu örnek için 

“SELECT * FROM book.worldclassics” sql parametresini yazdım. Son olarak nesnemizin Active özelliğini True yapalım.

 

Datasource nesnesini seçelim. Dataset özelliğinde FDQuery nesnesini seçelim. Son olarak DBGrid nesnesinin DataSource kısmında Datasource nesnemizi seçelim.

 

 

 

Resim1

Şekil 1

 

 

Resim2

Şekil 2

 

 

Resim3

Şekil 3

 

 

unit Unit1;

interface

uses

Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,

Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Data.DB, Vcl.StdCtrls, Vcl.Grids,

Vcl.DBGrids, FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error,

FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Stan.Pool,

FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef,

FireDAC.VCLUI.Wait, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,

FireDAC.DApt, FireDAC.Comp.DataSet, FireDAC.Comp.Client;

type

TForm1 = class(TForm)

DBGrid1: TDBGrid;

Button1: TButton;

MysqlconConnection: TFDConnection;

WorldclassicsTable: TFDQuery;

DataSource1: TDataSource;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

X: Word;

TempBookmark: TBookMark;

begin

with DBGrid1.DataSource.DataSet do

begin

DisableControls;

with DBGrid1.SelectedRows do

if Count<>then

begin

TempBookmark:=GetBookmark;

for X:=to Count-do

begin

if IndexOf(Items[X])>-then

begin

Bookmark:=Items[X];

ShowMessage(Fields[1].AsString + '-' + Fields[2].AsString);

end;

end;

end;

GotoBookmark(TempBookmark);

FreeBookmark(TempBookmark);

EnableControls;

end;

end;

end.

 

Bir makalenin daha sonuna geldik. Bir sonraki makalede görüşmek üzere. Bahadır ŞAHİN