none
Döngü ile koşullu olarak labela veri alma RRS feed

  • Genel Tartışma

  • Bu işte başlangıç aşamasındayım.Bir öğrenci programı yapmaya çalışıyorum. Aşağıdaki kod ile label ve radiobutton oluşturuyorum ancak veritabanından verileri alt alta değil yana yana alıyor ve her şey karışıyor.

    [code]

                                                                    

     private void Tema_Deg_Load_2(object sender, EventArgs e)
            {
                int x = 60; int y = 20; int ls = 1; int lx = 0;
                for (int i = 0; i < 33; i++)
                {
                    if (i % 3 == 0 || i == 0)
                    {
                        y += 30;
                        x = 100;
                        lx = x;
                        Label lbl = new Label();
                        Point lblyer = new Point(lx - 50, y + 5);
                        lbl.Location = lblyer;
                        lbl.Width = 40;
                        SqlCommand komut = new SqlCommand("Select adiSoyadi From bilgiler",baglanti_3);
                        baglanti_3.Open();
                        SqlDataReader dr = komut.ExecuteReader();
                        dr.Read();
                                            while(dr.Read())

                                           lbl.Text += dr["adiSoyadi"]+"<br>";
                        lbl.Name = "lbl" + i.ToString();
                        ls++;
                        groupBox1.Controls.Add(lbl);
                        lx += 20;
                        dr.Close();
                        baglanti_3.Close();
                    }

                    RadioButton txt = new RadioButton();
                    Point yer = new Point(x, y);
                    txt.Name = "" + i.ToString();
                    txt.Location = yer;
                    txt.Width = 35; txt.Height = 25;

                    this.Controls.Add(txt);
                    groupBox1.Controls.Add(txt);
                    x += 60;
                }
                {

    [/code]peki istediğim ne? Form açıldığında veya bir butonun click olayına şöyle bir kod yazmak mümkün mü? 1-bilgiler isimli tabloda yer alan adiSoyadi alanını kontrol et dolu satırları say,2-dolu satır kadar labela ilgili alandaki verileri alarak ekle (üçlü radiobutton ile birlikte bu butonlar 1,2 ve 3 değerlerini alacak) ve bir buton ile seçimlerimi başka bir tabloya kayıt et.

    22 Nisan 2017 Cumartesi 12:48

Tüm Yanıtlar

  • SqlCommand komut = new SqlCommand("Select adiSoyadi From bilgiler WHERE NOT adiSoyadi=''", baglanti_3); // adiSoyadi boşluk içermeyen satırları seçiyoruz.

    SqlDataReader dr = komut.ExecuteReader();

    Label label;

    RadioButton rButton;

    GroupBox gBox;

    while (dr.Read())

    {

        gBox = new GroupBox();

        // Burada gBox'ın pozisyonunu ayarlayan kodlar olmalı.

        label = new Label();

        //Burada label'in pozisyonunu ayarlayan kodlar olmalı.

        label.Text = dr["adiSoyadi"].ToString();

        gBox.Controls.Add(label); // GroupBox'a adiSoyadi içerikli Label ekliyoruz.

        for (int ix=0; ix<3; ix++) // GroupBox'a 3 adet RadioButton ekliyoruz.

        {

            rButton = new RadioButton();

            // Burada rButton'un pozisyonunu ayarlayan kodlar olmalı.

            rButton.Name= ix.ToString();

            gBox.Controls.Add(rButton); 

        }

        Controls.Add(gBox); // Form'a GroupBox ekliyoruz.

    }



    22 Nisan 2017 Cumartesi 13:27
  • Öncelikle teşekkürler, Ben sizin kodlarınızı aşağıdaki kadar düzenleyebildim. Ancak sadece grupbox ekliyor ve boş bir şekilde,

                                         

     private void button1_Click_1(object sender, EventArgs e)
            {
                baglanti_3.Open();
                SqlCommand komut = new SqlCommand("Select adiSoyadi From bilgiler WHERE NOT adiSoyadi=''", baglanti_3); // adiSoyadi boşluk içermeyen satırları seçiyoruz.
                SqlDataReader dr = komut.ExecuteReader();
                Label label;
                RadioButton rButton;
                GroupBox gBox;
                while (dr.Read())
                {

                    gBox = new GroupBox();
                    gBox.Left = 400; // Burada gBox'ın pozisyonunu ayarlayan kodlar olmalı.
                    gBox.Top = 400;
                    Controls.Add(gBox); // Form'a GroupBox ekliyoruz.
                    label = new Label();
                    label.Left = 100;
                    label.Top = 100; //Burada label'in pozisyonunu ayarlayan kodlar olmalı.
                    label.Text = dr["adiSoyadi"].ToString();
                    gBox.Controls.Add(label); // GroupBox'a adiSoyadi içerikli Label ekliyoruz.
                    for (int ix = 0; ix < 3; ix++) // GroupBox'a 3 adet RadioButton ekliyoruz.
                    {
                        rButton = new RadioButton();
                        rButton.Left = 100;
                        rButton.Top = 100; // Burada rButton'un pozisyonunu ayarlayan kodlar olmalı.
                        rButton.Name = ix.ToString();
                        gBox.Controls.Add(rButton);

                    }

                }

            }

                }
            }

    22 Nisan 2017 Cumartesi 16:10
  • Controls.Add(gBox);

    satırını while döngüsü içinde en alt satıra taşıyın.

    Yukarıdaki kodu da düzenledim.

    22 Nisan 2017 Cumartesi 16:47
  • Gerek formun loadında, gerekse bir butonun click olayında denedim ancak sonuç alamadım. İlginize teşekkürler.Aslında yapmak istediğim şuydu; Veritabanından ComboBoxlar dersler adlı tablodan ders adı konu ve davranış bilgilerini çektiğim forma bilgiler adlı tablomdan öğrenci adlarını labellara çekerek bunların karşılarında olacak radiobutton veya checkboxlar ile 1,2 ve üç değerlerini üçünü bir tabloya işlemek

    • Düzenleyen hakaNErdost 22 Nisan 2017 Cumartesi 18:50
    22 Nisan 2017 Cumartesi 17:48