sıralama yapabilen dbgrid

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
FXERKAN
Üye
Mesajlar: 178
Kayıt: 26 Tem 2003 11:06
Konum: Sivas - Konya
İletişim:

sıralama yapabilen dbgrid

Mesaj gönderen FXERKAN »

merhaba

dbgridde herhangibir title kısmına tıkladıkça o title (fielda) göre bilgileri tekrar sıralayarak gösteren bir dbgrid var mı? (ki vardır)

yada ben böyle birşey nasıl yaparım
[ F X E R K A N © - E r k a n Ç İ F T Ç İ ]
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

evet var : DevExpress Quantum Grid : http://www.devexpress.com

Diğer türlü Query ile yapılabilir sanırım. Tıklanan kolona göre order by yapman lazım. Ama Quantum Grid kullandığım için hiç uğraşmadım.

Kolay gelsin.
bgoktas
Kıdemli Üye
Mesajlar: 769
Kayıt: 27 Nis 2004 10:32
Konum: istanbul

Mesaj gönderen bgoktas »

Delphi ile birliktre gelen dbgrid ile de yapılabilir.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Arkadaşım bunu DBGrid Component'ine bir Query bağlaman şartıyla basit SQL cümlecikleri ile istediğin gibi sıralama yapabilirsin...

DBGrid'in TitleClick Eventine kodişlemen gerekir unutma !

Kod: Tümünü seç

With Query1 Do Begin 
SQL.Clear; 
SQL.Add('Select * From CariKart Order By CariUnvan'); 
Open; 
End; 
Şayet DBGrid'ine Tablo ile bağlantı kurduysan doğal olarak SQL kullanamazsın. :P

Kod: Tümünü seç

procedure TForm1.DBGrid1TitleClick(Column: TColumn); 
begin 
     (column.Field.DataSet as TTable).Sort := column.fieldname +' ASC'; 
end; 

ASC yerine DESC yazdığımız zaman sıralama tersine dönecektir. Table1.Sort := ''; dediğimiz zaman sıralamayı ilk haline çeviririz. Ayrıca aralarına virgül koyarak birden fazla alan için de sırlama yapabiliriz.
Table1.Sort := 'Unvan ASC, CariKod DESC' vb...
Alan isimleri arasında boşluk varsa örneğin 'Cari Kod' ozaman Column.Fieldname değerini köşeli parentez içine almalıyız örnek ['Cari Kod'] vb...


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

Ben şu şekilde denediğim zaman oluyor.

if column.FieldName='Adi' then begin
With Query1 Do Begin
SQL.Clear;
SQL.Add('Select * From sorusturmakisi Order By adi');
Open;
End;
end;

Order By adi yerine dbgridde seçili olan alana göre sıralama yapamazmıyız.

(column.Field.DataSet as TTable).Sort := column.fieldname +' ASC';
burada sort komutunda hata veriyor o nedenle öbürünü denedim.

kolay gelsin...
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kullandığınız Dataset nedir veritabanınız nedir bahsederseniz hatayı yakalama olayımız daha yüksek olur.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

paradox.
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Table obje si Sort Prporty sini deteklemiyormuş :oops:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Table'da sıralama yapmak için indeks kullanmak zorundasınız. Bu durumda her alanda sıralama yapmak mümkün değil çünki her alanı indekslemek akıllıca değil.

En uygunu Query kullanmak.

Kolay gelsin.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

Tamam Query kullandım.
With Query1 Do Begin
SQL.Clear;
SQL.Add('Select * From sorusturmakisi Order By adi');
Open;
End;
end;

bold yazılı alanda bi değişkin aktarıp istediğim alana göre sıralama yapamammı. Mesela hangi kolonu seçerse o kolonu oraya aktarmak gibi..
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

Kod: Tümünü seç

SQL.Add('Select * From sorusturmakisi '); 
SQL.Add('Order By adi'); 

Kod: Tümünü seç

SQL.Add('Select * From sorusturmakisi '); 
if  .... then SQL.Add('Order By adi'); 
if  .... then SQL.Add('Order By soyadi'); 
if  .... then SQL.Add('Order By yas'); 
ek : valla bende bu şekilde kullanıyorum daha kısasını bilemicem
En son mege tarafından 21 Haz 2004 03:35 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

Tamam bende o şekilde yaptım zaten ama belki daha kısadan bu işi yapan bi kod vardır uzaklarda diye sordum :oops:

teşekkürler.. :lol:
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Kod: Tümünü seç

SQL.Add('Select * From sorusturmakisi ');
SQL.Add('Order By '+column.FieldName);
bu sekilde olmaz mı?
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kaç çeşit yöntem çıktı yaw Gökmen hocam sizinki bayağı hoş gözüküyor. :wink:

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
sako
Üye
Mesajlar: 477
Kayıt: 11 Haz 2003 02:40
Konum: ERZURUM

Mesaj gönderen sako »

[quote="gkimirti"]

Kod: Tümünü seç

SQL.Add('Select * From sorusturmakisi ');
SQL.Add('Order By '+column.FieldName);
Invalid use of keyword
token: BY
line:2

yukarıdaki hatayı veriyor bu seferde :?
yerlerini değiştiriyim diyorum bu seferde sıralama yapmıyor..
DOĞUNUN SINIR TAŞI ERZURUM'UN DADAŞ'I
EFE'Sİ VAR İZMİR'İN EĞİLMEZ TÜRK' ÜN BAŞI
Cevapla