Как отключить значение 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();
}