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)
Dbgrid
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 69
- Kayıt: 02 Oca 2009 09:03
Re: Dbgrid
Sql kullanmıyorsanız ya locate yada filtreleme ile kayıt arata bilirsiniz
ancak ben size sql ile aratmanızı tavsiye ederim.
ancak ben size sql ile aratmanızı tavsiye ederim.
Re: Dbgrid
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]));
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
Re: Dbgrid
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
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.
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.
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.
Ö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;
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;
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;