Как отключить значение CheckBoxList в базе данных массива a[]. в коде ниже

protected void Page_Load(отправитель объекта, EventArgs e) {

    SqlDataAdapter cmd = new SqlDataAdapter("select Theatre_size, Theatre_Cost from Theatre where Theatre_Name='" + Request.Cookies["tname"].Value + "'", con);
    DataSet ds2 = new DataSet();
    cmd.Fill(ds2);
    CheckBoxList CbxList = new CheckBoxList();
    if (ds2.Tables[0].Rows.Count > 0)
    {
        Label1.Text = "Ticket Cost RS " + ds2.Tables[0].Rows[0]["Theatre_Cost"].ToString() + "/";

        x = Convert.ToInt32(ds2.Tables[0].Rows[0]["Theatre_size"].ToString());

        for (int i = 1; i<=x; i++)
        {
            CbxList.DataSource = ds2;
            CbxList.Items.Add(new ListItem(Convert.ToString(i)));
            CbxList.ID = i.ToString();
            CbxList.Text = i.ToString();   
            CbxList.RepeatDirection = RepeatDirection.Vertical;
            CbxList.RepeatColumns = 10;
        }
        ph.Controls.Add(CbxList);


    }


   string u = "";

   SqlDataAdapter da = new SqlDataAdapter("select SeatNo from Booking where Theatre_Name='" + Request.Cookies["tname"].Value + "' and ShowDate='" + Request.Cookies["bdate"].Value + "' and ShowTime='" + Request.Cookies["stime"].Value + "'", con);
   DataSet ds = new DataSet();
   da.Fill(ds);
     x = Convert.ToInt32(ds2.Tables[0].Rows[0]["Theatre_size"].ToString());

  int rcount = ds.Tables[0].Rows.Count;

   if (rcount > 0)
    {
        rcount = rcount - 1;
        while (rcount >= 0)
        {
            u = ds.Tables[0].Rows[rcount][0].ToString();

            //string u = "32,55,1,4,8";
           string[] a = u.Split(new char[] { ',' });

           int y, z;
            for (y = 0; y <= a.Length - 1; y++)
            {
                for (z = 1; z <= x; z++)
                {  

                   CheckBoxList lc = (CheckBoxList)ph.FindControl(z.ToString());

                  if (lc.Text == a[y])
                    {
                        lc.Enabled = false;

                    }
                }

            }

            rcount = rcount - 1;
        }
    }
    con.Close();


}

В этом коде, после того, как я добавил CheckBoxList из i=1 в i=Theatre_size, взятый из базы данных SQL. В SQL есть Столбец с SeatNo(varhchar(60) принимает значения как 1,2,3 в таблице Booking. Эти значения хранятся в массиве a[].

ph - это заполнитель, в котором размещается checkBoxList. Как вы отключите значения CheckBoxList для массива a[] SeatNo, которые уже сохранены в базе данных, при этом просматривая значения CheckBoxList, помещенные в PlaceHolder ph.

Я попробовал код ниже, но, похоже, он не работает для отключения CheckBoxList для [].

   string u = "";

   SqlDataAdapter da = new SqlDataAdapter("select SeatNo from Booking where Theatre_Name='" + Request.Cookies["tname"].Value + "' and ShowDate='" + Request.Cookies["bdate"].Value + "' and ShowTime='" + Request.Cookies["stime"].Value + "'", con);
   DataSet ds = new DataSet();
   da.Fill(ds);
     x = Convert.ToInt32(ds2.Tables[0].Rows[0]["Theatre_size"].ToString());
  int rcount = ds.Tables[0].Rows.Count;
   if (rcount > 0)
    {
        rcount = rcount - 1;
        while (rcount >= 0)
        {
            u = ds.Tables[0].Rows[rcount][0].ToString();
            //string u = "32,55,1,4,8";
           string[] a = u.Split(new char[] { ',' });
           Label2.Text = "hi";
           int y, z;
            for (y = 0; y <= a.Length - 1; y++)
            {
                for (z = 1; z <= x; z++)
                {  

                   CheckBoxList lc = (CheckBoxList)ph.FindControl(z.ToString());
                  if (lc.Text == a[y])
                    {
                        lc.Enabled = false;
                    }
                }

                //CheckBoxList1.Items[1].Enabled = false;  

            }
            rcount = rcount - 1;
        }
    }
    con.Close();
}

0 ответов

Другие вопросы по тегам