none
checkboxlist çözemiyorum. yardım lütfen. RRS feed

  • Genel Tartışma

  • Merhabalar. Okulum için bir proje yapıyorum. sona geldim. öğretmenlere göre yetkilendirme yapmak istiyorum. öğretmen adı ve yanında checkbox larla yetki vermek, admin panelinde hangi menüleri görmesini ayarlamak isitiyorum.aşağıdaki gibi getirebilldim.

    burada checkboxlist işaretlendiğinde kaydet butonuna bastığımda veri tabanına öğretmenin ID numarasına göre kaydetmek istiyorum.

    veri tabanıda aşağıdaki gibi

    elimle yazdığım bir örnek yazdım. bunu gibi yapmak istiyorum. Buraya kadar getirebildim ancak bir türlü öğretmen ID sini ve buna bağlı True ve False kaydededemedim.

    listelemeyi DataGrid le yaptım.dlOgretmenListesi Datagridin id adı.

        public partial class Yetkilendirme : System.Web.UI.Page
        {
            Metodlar klas = new Metodlar();

            public void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {


                    DataTable dtOgretmenler = klas.GetDataTable("SELECT  AdiSoyadi FROM dbo.Ogretmenler");
                    dlOgretmenListesi.DataSource = dtOgretmenler;
                    dlOgretmenListesi.DataBind();

                    for (int i = 0; i < dtOgretmenler.Rows.Count - 1; i++)
                    {
                        CheckBox AyarlarCheckbox = new CheckBox();
                        AyarlarCheckbox.ID = "a_chb_" + i.ToString();

                        CheckBox DonembasiIslemlerCheckboxlar = new CheckBox();
                        DonembasiIslemlerCheckboxlar.ID = "b_chb_" + i.ToString();

                        CheckBox KonuEklemeCheckboxlar = new CheckBox();
                        KonuEklemeCheckboxlar.ID = "c_chb_" + i.ToString();

                        CheckBox OgretmenPaneliCheckboxlar = new CheckBox();
                        OgretmenPaneliCheckboxlar.ID = "d_chb_" + i.ToString();

                        CheckBox RaporlamaCheckboxlar = new CheckBox();
                        RaporlamaCheckboxlar.ID = "e_chb_" + i.ToString();

                        CheckBox AramaCheckboxlar = new CheckBox();
                        AramaCheckboxlar.ID = "f_chb_" + i.ToString();

                        Label labeller = new Label();
                        labeller.Text = dtOgretmenler.Rows[i]["AdiSoyadi"].ToString();

                        dlOgretmenListesi.Rows[i].Cells[0].Controls.Add(labeller);
                        dlOgretmenListesi.Rows[i].Cells[2].Controls.Add(AyarlarCheckbox);
                        dlOgretmenListesi.Rows[i].Cells[4].Controls.Add(DonembasiIslemlerCheckboxlar);
                        dlOgretmenListesi.Rows[i].Cells[6].Controls.Add(KonuEklemeCheckboxlar);
                        dlOgretmenListesi.Rows[i].Cells[8].Controls.Add(OgretmenPaneliCheckboxlar);
                        dlOgretmenListesi.Rows[i].Cells[10].Controls.Add(RaporlamaCheckboxlar);
                        dlOgretmenListesi.Rows[i].Cells[12].Controls.Add(AramaCheckboxlar);
                        //Autogeneratecolums false yaparsan sütün ekleyebiliyorsun.yukardaki 0 sıfırıncı sütünda, 2 ikinci sütünda.tablodaki edit colums kısmından boult field ekle içini doldur.


                    }
                }
            }

            protected void Button1_Click(object sender, EventArgs e)
            {
                DataTable dtOgretmenler = klas.GetDataTable("SELECT  AdiSoyadi FROM dbo.Ogretmenler");
                dlOgretmenListesi.DataSource = dtOgretmenler;
                dlOgretmenListesi.DataBind();

                for (int i = 0; i < dtOgretmenler.Rows.Count; i++)
                {
                    SqlConnection baglanti = klas.baglan();
                    SqlCommand cmd = new SqlCommand("insert into OgretmenYetkileri (OgretmenID) values (@OgretmenID)", baglanti);
                    CheckBox AyarlarCheckbox = (CheckBox)dlOgretmenListesi.Rows[i].Cells[0].FindControl("ch_" + i.ToString());
                    if (AyarlarCheckbox.Checked)
                    {
                        cmd.Parameters.Add("OgretmenID",dlOgretmenListesi.Rows[i]);
                        cmd.ExecuteNonQuery();
                    }


                }
            }


        }

    bu kodu yazdığımda aşağıdaki gibi bir hata veriyor.

     ÖğretmenID numarasını ve buna bağlı checkboxların o öğretemene bağlı nasıl yapabilirim. Yardımcı olabilirmisiniz. yukarıdaki veritabanı şeklinde yapmak istiyorum. şimdiden çok teşekkür ederim.

    3 Şubat 2017 Cuma 15:15