DBNavigator

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Cevapla
Kullanıcı avatarı
Fatih!
Kıdemli Üye
Mesajlar: 1172
Kayıt: 26 Kas 2004 10:46
Konum: Malatya
İletişim:

DBNavigator

Mesaj gönderen Fatih! »

Veriler üzerinde güncelleme , silme , yeni kayıt ekleme , ileri - geri gitme vb. gibi işlemlerin yapıldığı araç çubuğudur.Örneğimizde formumuza Data Controls kısmından DbNavigator yerleştirelim ve Object Inspector kısmında Data Source özelliğini Data Source1 yapalım.Programı çalıştırdığınız zaman istediğiniz işlemleri DbNavigator çubuğuyla yapabileceğinizi göreceksiniz.Bu çubuktaki özellikleri inceleyelim.

Resim

Anlamları Ve Kod Karşılıkları

1 - First :İlk kayda gider

Kod: Tümünü seç

Table1.First;
2 - Prior :Bir önceki kayda gider

Kod: Tümünü seç

if not Table1.Bof Then //İlk Kayıtta Değilse
Table1.Prior;

3 - Next :Bir sonraki kayda gider

Kod: Tümünü seç

if not Table1.Bof Then //Son Kayıtta Değilse

Table1.Next;

4 - Last :En son kayda gider

Kod: Tümünü seç

Table1.Last;

5 - Insert :Mevcut kayıttan önce araya bir kayıt ekler.insert yerine Append kullanırsanız yeni kayıt tablonun sonuna eklebnir

Kod: Tümünü seç

Table1.insert;

editilkalan.setfocus; // Tablonun İlk Alanına Bağlı Bileşeni Kursörü Bırakıyoruz.

6 - Delete :Mevcut kaydı siler bir sonraki kaydı görüntüler

Kod: Tümünü seç

Var

Cevap:Word;

Begin

Cevap:=Application.MessageBox(' silinsin  mi? ','Onay',MB_YesNo);

if Cevap=mrYes then

Table1.delete;
7 - Edit :Mevcut kaydın değiştirilmesini sağlar

Kod: Tümünü seç

Table1.Edit;
 
8 - Post :Yapılan değişiklikleri veri tabanı dosyasına yazar

Kod: Tümünü seç


Table1.Post;
9 - Cancel :Girilen değişiklikleri iptal eder

Kod: Tümünü seç

Table1.Cancel;
10 - Refresh :Mevcut kaydı yeniden görüntüler .Yani Güncelleme yapar

Kod: Tümünü seç

Table1.Refresh;


Yukarıdaki Kodları İlgili Buttonların OnClick Olaylarına yazarsannız Kişisel DBNavigatorunuzu yapabilirsiniz.


Eğer DBNavigator butonuna tıklamayla oluşan eylemi iptal etmek ihtiyacınız varsa, bunu componentin BeforeAction olayında aşağıdaki kodu yazarak halledebilirsiniz.

Kod: Tümünü seç

procedure TDBForm.DBNavigatorBeforeAction(Sender: TObject;
Button: TNavigateBtn) ;
begin
if (Button = nbinsert) then // Button  adlarrının önüne nb ekleyerek kullanın
begin
SysUtils.Abort; //Ekleme eylemini iptal et.
end;
end;

DbNavigator'ün ShowHint özelliği True yapılarak bu düğmelerin ne işe yaradığı üzerine gelindiği zaman yazacaktır. Bu Yazıları Türkçeleştirmek isterseniz Bileşenin Hints Özelliğinden yaralanabilirsiniiz.


ConfirmDelete Özelliğini False yaparaak Kaydı silerken onay istememesini,

visibleButtons özelliği altında bulunan seçeneklerlede istediğiniz buttonun görünmemesini sağlayabilirsiniz

TDBNavigator Bileşeninin Resimlerini Değiştirme

Kod: Tümünü seç

procedure ChangeDBNavImage(DBnav: TDbNavigator); 
var 
i: Integer; 
tempGlyph: TBitmap; 
ExePath: string; 
begin 
ExePath := ExtractFilePath(Application.ExeName); 
tempGlyph := TBitmap.Create; 
try 
with DBNav do begin 
for i := 0 to ControlCount - 1 do begin 
if Controls.ClassName = 'TNavButton' then begin 
case TNavButton(Controls).Index of 
nbFirst: tempGlyph.LoadFromFile(ExePath + 'first.bmp'); 
nbPrior: tempGlyph.LoadFromFile(ExePath + 'previous.bmp'); 
nbNext: tempGlyph.LoadFromFile(ExePath + 'Next.bmp'); 
nbLast: tempGlyph.LoadFromFile(ExePath + 'Last.bmp'); 
nbInsert: tempGlyph.LoadFromFile(ExePath + 'Insert.bmp'); 
nbDelete: tempGlyph.LoadFromFile(ExePath + 'Delete.bmp'); 
nbEdit: tempGlyph.LoadFromFile(ExePath + 'Edit.bmp'); 
nbPost: tempGlyph.LoadFromFile(ExePath + 'Post.bmp'); 
nbCancel: tempGlyph.LoadFromFile(ExePath + 'Cancel.bmp'); 
nbRefresh: tempGlyph.LoadFromFile(ExePath + 'Refresh.bmp'); 
end; 
TNavButton(Controls).Glyph := tempGlyph; 
end; 
end; 
end; 
finally 
tempGlyph.Free; 
end; 
end; 
Kullanımı

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); 
begin 
ChangeDBNavImage(DBNavigator1); 
end;
isoaltunay
Üye
Mesajlar: 27
Kayıt: 01 Tem 2013 09:43

Re: DBNavigator

Mesaj gönderen isoaltunay »

arkadaşlar ben bu change dbnavigator olayını bulamadım açıklayabilir misiniz?
Cevapla