Kodla Buton Oluşturma ...

Kodla Büyü

ulutas55

Site Gezgini
Mesajlar
95
Asp.net ustası arkadaşlar,

Benim sıkıntım kodlarla buton oluşturma konusunda.

yapmak istediğim; kodlarla buton oluşturmak. Fakat buton isimlerini ve ID'lerini veritabanından çekmek ve daha sonra bu botunlarla işlem yapmak istiyorum.

İşin özeti, aşağıdaki resimde de görüldüğü gibi birşey yapmaya çalışıyorum. Bu konuda nasıl bir yol izlemeliyim ve ne yapmalıyım?
 

Ekli dosyalar

  • Menuler.jpg
    Menuler.jpg
    42.9 KB · Görüntüleme: 2,156
ulutas55' Alıntı:
Asp.net ustası arkadaşlar,

Benim sıkıntım kodlarla buton oluşturma konusunda.

yapmak istediğim; kodlarla buton oluşturmak. Fakat buton isimlerini ve ID'lerini veritabanından çekmek ve daha sonra bu botunlarla işlem yapmak istiyorum.

İşin özeti, aşağıdaki resimde de görüldüğü gibi birşey yapmaya çalışıyorum. Bu konuda nasıl bir yol izlemeliyim ve ne yapmalıyım?

Veritabanına bağlantı kodlarınızı bildiğinizi varsayıyorum. While (ya da diğerleri) gibi bir döngü komutu içine aşağıdaki kodları yazarsanız işleminizin gerçekleşeceğini düşünüyorum. Lütfen, bir sorunla karşılaştığınızda aldığınız hatayı da paylaşırsanız daha da yardımcı olabilirim. Bu konuda ısrarcıyım çünkü ne zaman programlamada birine yardımcı olsam geri dönüt dahi vermiyorlar, bu forumu bir çok kişi takip ediyor, yapılan yardım doğru mu değil mi bunu da takipçilerin görmesi lazım diye düşünüyorum. Kodları C# ile oluşturdum.
Kod:
            int i = 1;
            while (veriokuyucu.Read())
            {
                Button yenibuton = new Button();
                yenibuton.Text = veriokuyucu[0].ToString(); // verileri datareader ile çekiyorum,
                yenibuton.Location = new Point(0, i*40);
                this.Controls.Add(yenibuton);
                i++;
}
 
Cevap için öncelikle çok teşekkür ederim hocam.

Müsadenle ufak bi düzeltme yapayım.
Sayfaya bir panel ekleyip koduda ;

Kod:
        int i = 1;
        while (oku.Read())
        {
            Button yenibuton = new Button();
            yenibuton.ID = oku[0].ToString();
            yenibuton.Text = oku[1].ToString(); // verileri datareader ile çekiyorum,
            Panel1.Controls.Add(yenibuton);
            i++;
        }

şeklinde düzenlemezsek server hatası veriyor.

Ayrıca burda bi sorun daha ortaya çıktı.
Butonların hepsi yan yana geliyor.

Birde butonlara görev atamasını (tıklanam olayı) nasıl yapabilirim?
 
Asp.net hususu dikkatimden kaçmış, kodları web için ve de sizin isteğiniz doğrultusunda yeniden düzenledim.
Kod:
        while (veriokuyucu.Read())
        {

            Button yenibuton = new Button();
            yenibuton.ID = i.ToString();
            yenibuton.Text = veriokuyucu[0].ToString();
            yenibuton.Command += new CommandEventHandler(yenibuton_otomatikClick); //bu şekilde istediğiniz fonksiyona çağrı yapabilirsiniz
            Panel1.Controls.Add(yenibuton);
         
        }
        bağlantı.Close();
    }
    void yenibuton_otomatikClick(object sender, CommandEventArgs e)
    {
         this.Title = (sender as Button).Text;
    }
Size kalan otomatikClick fonksiyonu içinde hangi butona basıldığını basit bir şart (if ya da switch ) ile kontrol ettirmenizdir.
Butonlar yan yana geliyor, direk x ve y değerlerini ayarlayamıyoruz Panel içinde bunun için farklı bir senaryo kurmamız gerekir, eğer elzem ise bu o konu üzerinde de kafa yorarız.
 
çok teşekkürler hocam :alkis:

geriye bir tek butonların konumlandırması olayı kalıyor.
çalışma esnasında sıkıntı yaşarsam size ulaşırım :oops:

tekrar çok sağolun :alkis:
 
Rica ederim, yardımcı olabildiysem ne mutlu. Ayrıca geri dönüşler için ben de teşekkür ederim. Bu forumda yardım isteyip de yardım ettiğimiz zaman sonucunu adam akıllı bildirmeyenler yüzünden artık kimseye yardım etmeyeceğim diyordum :) neyse ki bu kararımdan vazgeçirttiniz beni...
 
Geri
Üst