Dbgrid

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

Dbgrid

Mesaj gönderen ishak27 »

S.a arkadaşlar

ufak bi sorum olucaktı

Öğrenci Takip Programı yapıyorum fakat bu dbgridde Kayıtlı olan verileri nasıl aratabilirim kayıt ara şeklinde bi arayüz yaptım fakat veriyi sadece Tc kimlik noya göre nasıl aratacam veya ad,soyad a göre

Not: Vertabanı databaseIV (SQL kullanmıyorum)
ZeynelAbidin
Üye
Mesajlar: 69
Kayıt: 02 Oca 2009 09:03

Re: Dbgrid

Mesaj gönderen ZeynelAbidin »

Sql kullanmıyorsanız ya locate yada filtreleme ile kayıt arata bilirsiniz
ancak ben size sql ile aratmanızı tavsiye ederim.
Kullanıcı avatarı
mudipasa
Üye
Mesajlar: 169
Kayıt: 13 Tem 2004 02:25
Konum: Batman

Re: Dbgrid

Mesaj gönderen mudipasa »

kullanıdım tablo firebird DataSet. herhangi bir edit in OnKeyUp event ına bu kodları yazdım. Gayet güzel çalışıyor.

dm.xblist.First;
if not (dm.xblist.LocateNext('ADI', Edit1.Text, [loPartialKey, loCaseInsensitive])) then
(dm.xblist.LocateNext('SOYADI', Edit1.Text, [loPartialKey, loCaseInsensitive]));

Kod: Tümünü seç

www.muratdişikırık.com.tr
ishak27
Üye
Mesajlar: 21
Kayıt: 01 Nis 2007 11:58
Konum: Gaziantep
İletişim:

Re: Dbgrid

Mesaj gönderen ishak27 »

Sql Kullanmadanda Delphi den iyice faydalanabiliyoruz arkadaşlar birazcık araştırmamla şu bilgilere ulaştım Tablodaki kayıtları nasıl arayabiliriz,kayıt arama gibi özelliklede Baş harfine göre veya İçerisindeki Metne göre aramalar şu şekilde olmaktadır.

Öncelikle Arama Yapıcağımız Yere Editimizi Koyuyoruz ve

Kod: Tümünü seç

procedure TForm7.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
Table1.Filter:='MAGAZAADI='+QuotedStr(Edit1.Text);//kriter
end;
Kriteri belirlemeniz tablonuzun filtreleneceği anlamını taşımaz. Muhakkak
ardından “Filtered” özelliğine true değerini aktarmalısınız.

Aşağıdaki kodlamada “Enter” tuşuna basmanıza gerek yoktur. Her karaktere
bastığınız zaman kriter yeniden denenecektir.

Kod: Tümünü seç

procedure TForm7.Edit1Change(Sender: TObject);
begin
Table1.FilterOptions:=[foCaseInsensitive];//harf duyarlılığı yok
Table1.Filter:='MAGAZAADI='+QuotedStr(Edit1.Text);//kriter
Table1.Filtered:=true;
end;
Projeyi çalıştırdığınız zaman mağaza ismini “Edit” kontrolünün içerisine
tamamen yazana kadar hiç bir kayit “DataGrid” nesnesi içerisinde
listelenmeyecektir. Mağaza adı tamamen yazıldıktan sonra, o mağazaya ait tüm
servisler “DataGrid” nesnesi içerisinde listelenmiş olacaktır.

Kodu aşağıdaki şekilde değişirseniz gireceğiniz ilk karakterlere göre filtreleme
yapabilirsiniz. Burada kodu yine “OnChange” yordamına yazmanız gerektiğini
hatırlatıp, kod satırlarını verelim.

Kod: Tümünü seç

procedure TForm7.Edit1Change(Sender: TObject);
begin
Table1.FilterOptions:=[foCaseInsensitive];//harf duyarlılığı yok
Table1.Filter:='MAGAZAADI='+QuotedStr(Edit1.Text+'*');//kriter
Table1.Filtered:=true;
end;
Prgramı çalıştırıp kriter kısmında “İ” Harfine basarsanız " İ " ile başlayan tüm kayıtları görürüz ve tekrar "S" ye bastığımızda Kriterimiz " İS " olucağından "İS " ile başlayan kayıtlar gelmektedir.İlginiz için tşk ederim.
Cevapla