Gridlerde istenilen harfle başlayan ilk kayıta konumlanma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Gridlerde istenilen harfle başlayan ilk kayıta konumlanma
Arkadaşlar selamlar saygılar....
belki herkes biliyordur ama sorayım dedim. cahilliğime veriniz lütfen. genelde dewexpresin gridlerini kullanıyorum. belki onlara özgü bir ayar vardır ben görmedim. ama kodla yaparsak her gridlde kullanılablir. örneğin binlerce kişiden oluşan bir liste var. kullanıcı bu listeden istediği harfle başlayan kısma gitmek istiyor. ama filitre yapmayacak sadece o harfle başlayan kayıtların ilkine konumlanacak ve ilk harfi renklendirecek. sanırım anlatabildim. bunu ben butonlarla yapıyordum. 30 buton koyup bir panele hangi butona tıklarsa filitre ediyordum. tümü butonuna tıklarsa hepsi geliyordu. benim dediğim şekilde nasıl yapılablir. filitre edilmeden liste bozulmadan kullanıcı gb grid üzerindeyken hangi harfe tıklarsa o harle başlayanların ilkine konumlansın.
teşekkürler
belki herkes biliyordur ama sorayım dedim. cahilliğime veriniz lütfen. genelde dewexpresin gridlerini kullanıyorum. belki onlara özgü bir ayar vardır ben görmedim. ama kodla yaparsak her gridlde kullanılablir. örneğin binlerce kişiden oluşan bir liste var. kullanıcı bu listeden istediği harfle başlayan kısma gitmek istiyor. ama filitre yapmayacak sadece o harfle başlayan kayıtların ilkine konumlanacak ve ilk harfi renklendirecek. sanırım anlatabildim. bunu ben butonlarla yapıyordum. 30 buton koyup bir panele hangi butona tıklarsa filitre ediyordum. tümü butonuna tıklarsa hepsi geliyordu. benim dediğim şekilde nasıl yapılablir. filitre edilmeden liste bozulmadan kullanıcı gb grid üzerindeyken hangi harfe tıklarsa o harle başlayanların ilkine konumlansın.
teşekkürler
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
Artık yazmaktan ben sıkıldım.grid sadece datasourse içindeki kayıtları grid şeklinde ekrana basar.yazma değiştirme silme vs gibi DATABASE üzerindeki işlerinizi kolaylaştırır.
Önce kolon seçilmeli ve o kolon a-z yada z-a şeklinde sıralanmalı.sonra ya forma edit koyup yada keypress vs gibi bir event ile klavye tuşu alınır. DataSourse.Locate yada DataSourse.Lookup ile konumlanır. (detaylarını, kullanım detay delphi help yada yüce google dan alınır)
Locate db de cursor u da konumlandırır, lookup konumlandırmaz buna dikkat edilir.
kolay gele
Önce kolon seçilmeli ve o kolon a-z yada z-a şeklinde sıralanmalı.sonra ya forma edit koyup yada keypress vs gibi bir event ile klavye tuşu alınır. DataSourse.Locate yada DataSourse.Lookup ile konumlanır. (detaylarını, kullanım detay delphi help yada yüce google dan alınır)
Locate db de cursor u da konumlandırır, lookup konumlandırmaz buna dikkat edilir.
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
selamlar freeman35 hocam. cevabınız için teşekkür ederim. ancak birazda azarlama gibi algıladım
neden kızarak cevap verdiniz. dediklerinizi tam anlayamadım dersem kızarmısınız bana. biraz daha açıklayıcı cevap ile çoğu kullanıcı istifade eder bu sorudan ve cevaptan. imkan ölçüsünde mini bir örnek kodda ekleyebilirsiniz
saygılarımla...

saygılarımla...
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
sorun değil,sende herkes gibi yanlış anlamışsın 
Balık tutmayı öğretirim ama benden balık beklemeyin boşuna. Yeterince açıklamışım diye düşünüyorum,önceki mesajımda önemli noktaları açıklamışım,sen bunun üzerine araştırıp geliştir.Bunu yapamıyor olabilirsin bu normaldir,ilk başladığımda bende bilmiyordum,hala daha çoğu şeyi bilmiyorum,ama help ve google kullanıyorum.Ben başladığımda basılı kitap dahi bulamıyorduk,ama bu beni yıldırmadı.
DataSourse.Locate yada DataSourse.Lookup başına delphi yazıp bir arat bak neler çıkıyor,istemediğin kadar örnek bulacaksın
kolay gele

Balık tutmayı öğretirim ama benden balık beklemeyin boşuna. Yeterince açıklamışım diye düşünüyorum,önceki mesajımda önemli noktaları açıklamışım,sen bunun üzerine araştırıp geliştir.Bunu yapamıyor olabilirsin bu normaldir,ilk başladığımda bende bilmiyordum,hala daha çoğu şeyi bilmiyorum,ama help ve google kullanıyorum.Ben başladığımda basılı kitap dahi bulamıyorduk,ama bu beni yıldırmadı.
DataSourse.Locate yada DataSourse.Lookup başına delphi yazıp bir arat bak neler çıkıyor,istemediğin kadar örnek bulacaksın
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
s.a.
elimizde bi edit olsun. edit'ten sorgu yapalım. edit'in onchange olayına;
yazsak işimizi görmez mi?
elimizde bi edit olsun. edit'ten sorgu yapalım. edit'in onchange olayına;
Kod: Tümünü seç
datamodule2.dataset1.close;
datamodule2.dataset1.selectsql.clear;
datamodule2.dataset1.selectsql.add('select * from TABLO');
datamodule2.dataset1.selectsql.add('where adisoyadi like ''%'+edit1.text+'%''');
datamodule2.dataset1.open;
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
Binlerce kayıdı veritabanından her tuşa basışta çekmek istiyorsanız ve oluşacak bu yavaşlık programınızı kullanacaklar için bir sabır geliştirme vesilesi ise neden olmasın 

-
- Üye
- Mesajlar: 261
- Kayıt: 21 Tem 2006 04:59
- İletişim:
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
muhcet arkadaşım bu kodlar filitreleme. böyle yaparsak sade o kayıtlar gelir. ben kayıtların tümü duracak sadece kullanıcının klavyeden bastığı harfe başlayan kayıtların ilkine konumlanacak. çözüm ürettiğimde balık tutmayı öğrendiğimde balığımı sizlerle paylacam. 

Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
aslında @freeman35 hocam cevabı vermiş, ama sanki yazdığı diğer şeyleri okurken cevabı görememişsiniz..
DataSetin (tablo yada query nesnesinin) Locate komutu, verilen parametrelere uygun kaydı dataset içinde arar, bulursa konumlanır.. bulup bulamama durumunu da boolean olarak geri döner..
3. parametre locate için arama özelliklerini belirtir, seçimliktir, ihtiyaca göre kullanılır
loCaseInsensitive-> büyük/küçük harf önemsemeden ara
loPartialKey -> sanırım verilen ifadenin bir kısmı uysa bile bulundu kabul et gibi bişeydi
delphi 2010un helpindeki örnek;
DataSetin (tablo yada query nesnesinin) Locate komutu, verilen parametrelere uygun kaydı dataset içinde arar, bulursa konumlanır.. bulup bulamama durumunu da boolean olarak geri döner..
Kod: Tümünü seç
Query.Locate('alan1;alan2',vararrayof(['deger1','deger2']),[loCaseInsensitive,loPartialKey]);
loCaseInsensitive-> büyük/küçük harf önemsemeden ara
loPartialKey -> sanırım verilen ifadenin bir kısmı uysa bile bulundu kabul et gibi bişeydi
delphi 2010un helpindeki örnek;
Kod: Tümünü seç
CustTable.Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '831-431-1000']), [loPartialKey]);
bazen yükselmek için önce dibi görmek gerekir...
forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

forumda soru sormadan önce bakılmalı bence
daha fazlası için...
yürümeyi öğrenmeden koşmaya çalışanlar için, tökezleyip düşmek kaçınılmazdır...

Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
Kod: Tümünü seç
procedure TListe.btnBulClick(Sender: TObject);
var
durum:integer;
bulundu:Boolean;
begin
bulundu:=Datamodule2.dataset1.Locate('AdSoyad', Edit1.text,[loCaseInsensitive,loPartialKey]);
//Tabloda Locate komutunu kullanmak için en üstteki uses kısmına DB eklenmelidir.
if bulundu=false then
application.messagebox('böyle bir kayıt yok!','bilgi',mb_OK+mb_iconinformation);
end;
Re: Gridlerde istenilen harfle başlayan ilk kayıta konumlanm
Jedi bileşen setinde Dbfindedit di sanırım.
ilgili tablo ve field ı gösteriyorsunuz.
İsteğe göre durumu, filter veya locate seçiyorsunuz.
siz yazdıkça işlem yapıyor. Kod yazmaya gerek yok.
ilgili tablo ve field ı gösteriyorsunuz.
İsteğe göre durumu, filter veya locate seçiyorsunuz.
siz yazdıkça işlem yapıyor. Kod yazmaya gerek yok.
Bir kelimenin anlamını öğretsen bile yeter..


