Kategori ve Alt Kategori (Butonlarla)

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen akissoftware »

Arkadaşlar merhaba. Bir programda kategorileri listeleyeceğim (ilk 20 tanesi) ve ilgili hangi kategoriye tıklarsam onun altındaki 20 kayıt listelenecek. Bunu nasıl yapabilirim? Örnek resimleri ekte gönderiyorum. Yardımlarınızı talep ediyorum. Saygılarımla


https://prnt.sc/l9298r

https://prnt.sc/l929fr
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen greenegitim »

kategorilerin bir id si her kategoride farklı bir tekrar etmeyen değeri olduğunu varsayalım
örnek;
kategori_id=15,Kategori_adi='Elektronik'
kategori_id=16,Kategori_adi='Tekstil Giyim'

siz burada ki kategori_id değerini buttonların tag property değerine atayın daha sonra buttonun tıklanma olayına
o tag değerine sahip ürünleri listeletin.
Mücadele güzelleştirir!
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen akissoftware »

Delphi7 kullanıyorum. Tag property diye bir özelliği bulamadım butonlarda ama ?
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen akissoftware »

Ayrıca sistemin nasıl olması gerektiğini çalışan bir programdan video olarak çekerek yükledim...

http://dosya.co/5n8xe8wo3pbg/20181023_181112.mp4.html
Kullanıcı avatarı
greenegitim
Üye
Mesajlar: 713
Kayıt: 28 Nis 2011 10:33
Konum: İstanbul

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen greenegitim »

Delphide forma bir adet buton sürükleyin butonu seçin properties bölümünda tag'ı göreceksiniz.
Mücadele güzelleştirir!
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen akissoftware »

Yardımlarınız için teşekkür ederim. Lakin bir türlü istediğim gibi bir çözüme ulaşamadım.
İsteğimi biraz daha açmak için;
İlk etapta 20 adete kadar(maksimum) button isimleri kategori ismi olarak yazılacak..(Bunda problem yok). Ama mesela İçecekler isimli butonu tıklarsam içeceklerin içinde bulunan ürünlerin listelenmesini istiyorum(maksimum 20 adet)...
Runtime button oluşturma ile yapmaya çalıştım olmadı. En mantıklısı var olan butonların özelliklerini değiştirmek ama onuda bir türlü halledemedim :(
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen akissoftware »

Arkadaşlar sorunu çözemediğim için tekrar yazmak istedim. Aslında olay basit ama bir türlü bir mantık yürütüp sonuçlandıramadım...
Biraz daha detaylı yazayım; 20 tane buton var ve bunlar kategori isimleri olacak. Ama eklenen kategori 3 taneyse ilk 3 buton bu isimlerde olacak sonraki 17 tanesi boş yani isimsiz olacak.
Kullanıcı dolu bir kategoriye tıklayınca o kategori içindeki ürünler yine aynı butonlarda (ilk 20 tanesi) listelenecek. İlgili ürüne tıkladığımda da ona göre işlem yapılacak...

Yardımlarınıza ihtiyacım var
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Re: Kategori ve Alt Kategori (Butonlarla)

Mesaj gönderen yusuf simsek »

İyi Çalışmalar

Kod: Tümünü seç

procedure KategoriYukle( UstKategoriId : integer );
var
  tmpQuery  : TZQuery;

begin

  Panel1.Caption  := '';

  tmpQuery := TZQuery.Create( Application );
  tmpQuery.Connection:= DM1.Conn1;
  tmpQuery.SQL.Text  := ' SELECT KategoriId,  KategoriAdi         '+
                        ' FROM Kategori '+
                        ' WHERE UstKategoriId =  '+ IntToStr ( UstKategoriId ) ;
                      
  tmpQuery.Open;
  tmpQuery.First;

  //Mevcut Butonları temizle
      while Panel1.ComponentCount > 0 do
        if ( Panel1.Components[ 0 ].ClassType = TButton ) then
          Panel1.Components[ 0 ].Destroy;

        while not tmpQuery.Eof do
          begin
              with TButton.Create( APanel ) do
                begin
                  Parent      := Panel1;

                  Name        := 'btnKategori' + tmpQuery.FieldByName('KategoriId').AsString;
                  Caption     := tmpQuery.FieldByName('KategoriAd').AsString;
                  
                  Tag         := tmpQuery.FieldByName('KategoriId').AsInteger;
                  
                  Font.Name   := 'Ms Sans Serif';
                  Font.Color  := clNavy;
                  Font.Size   := 8;
                  //Font.Style  := [fsbold];

                  Width       := 100;
                  Height      := 35;

                 end;

            tmpQuery.Next;
          end;
          
    end;

  tmpQuery.Free;
end;
Kodunu kendine uyarlayarak Tıklama esnasında mevcut butonları temizleyip yeni butonları oluşturabilirsin.

TAG hemen hemen her nesnede bulunan bir özelliktir. Integer tipinde değer alır... Tag alanına ID değerini atayıp Buton tıklandığında KategoriYukle( button1.tag ) proceduru çağırarak istediğin işlemi yapabilirsin...

Ekran İlk açılışta KategoriYukle( 0 ) parametre oalrak Sıfır gönderip Ana Kategorileri de otomatik yükleyebilirsiniz

Kolay gelsin
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla