Maathavan Balasubramanian Ответов: 2

Как отключить несколько чекбоксов в checkboxlist.


моя задача-онлайн-бронирование билетов в кино. В театре есть 25 билетов.Я нажимаю 5 билетов и отправляю их в списке чекбоксов.

После загрузки страницы эти 5 билетов будут отключены.asp.net.

Что я уже пробовал:

тем не менее я завершаю,если я нажму на 5 билетов, которые 5 билетов будут храниться в базе данных.
я дал (checkboxlistID.товар.включено=false).

первый билет только отключите.после загрузки страницы все билеты будут нажаты.но он не отключился.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace WebApplication1
{
    public partial class MovieDetails : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                chkSeatsAvailability.Items.Clear();
                PopulateBookedSeats();
                
            }
        } 

        private void PopulateBookedSeats()
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                        
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandText = "select * from tblBookedSeats";
                    cmd.Connection = conn;
                    conn.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            ListItem item = new ListItem();
                            item.Text = sdr["Seat_No"].ToString();
                            item.Value = sdr["Seat_ID"].ToString();
                            item.Selected = Convert.ToBoolean(sdr["IsSelected"]);
                            if(item.Selected)
                            item.Attributes.CssStyle.Add("readonly","true");
                            chkSeatsAvailability.Items.Add(item);                            
                        }
                        
                    }
                          
                    
                    conn.Close();
                }
            }
        }  

        protected void btnSubmit_Click(object sender, EventArgs e)
        {

            copyMovieName.Text = lblMovieName.Text;
            lblSelectedMovie.Text = ddlMovieNames.SelectedItem.Text;

            copyDate.Text = lblDate.Text;
            lblSelectedDate.Text = txtDate.Text;


            copyShowName.Text = lblShowName.Text;
            lblSelecetedShow.Text = ddlShowName.SelectedItem.Text;


            copySeats.Text = lblSeatsAvailability.Text;


            String CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using (SqlConnection cn = new SqlConnection(CS))
            {
                cn.Open();                

                string interests = string.Empty;
                foreach (ListItem li in chkSeatsAvailability.Items)
                {
                    if (li.Selected)
                    {
                        interests += li + ",";
                        lblSelectedSeats.Text = interests;                        
                                            
                    }
                }       

                SqlCommand cmd = cn.CreateCommand();

                cmd.CommandType = CommandType.Text;

                cmd.CommandText = "insert into tblBookingDetails(Date,Movie_Name,Show_Name,Seats_Availability) values(@Date,@Movie_Name,@Show_Name,@Seats_Availability)";
                cmd.Parameters.AddWithValue("@Movie_Name", ddlMovieNames.SelectedItem.Text);
                cmd.Parameters.AddWithValue("@Date",Convert.ToDateTime(txtDate.Text));
                cmd.Parameters.AddWithValue("@Show_Name", ddlShowName.SelectedItem.Text);
                cmd.Parameters.AddWithValue("@Seats_Availability", interests);

                cmd.ExecuteNonQuery();               

                cn.Close();
                

                String str = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                            
                    using (SqlCommand command = new SqlCommand())
                    {
                        command.CommandText = "update tblBookedSeats set IsSelected = @IsSelected where Seat_ID=@Seat_ID";
                        command.Connection = conn;

                        conn.Open();
                        foreach (ListItem item in chkSeatsAvailability.Items)
                        {
                            command.Parameters.Clear();
                            command.Parameters.AddWithValue("@IsSelected", item.Selected);
                            command.Parameters.AddWithValue("@Seat_ID", item.Value);
                            command.ExecuteNonQuery();
                            [
                        }
                       
                        conn.Close();

                       
                    }
                }         
               
            }

        }



        protected void chkSeatsAvailability_SelectedIndexChanged(object sender, EventArgs e)
        {
            listSeats.Items.Clear();
            foreach (ListItem li in chkSeatsAvailability.Items)
            {
                if (li.Selected)
                {
                    listSeats.Items.Add(li.Text);
                }

                if (chkSeatsAvailability.SelectedIndex==-1)
                {
                    lblTotalList.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    lblTotalList.ForeColor = System.Drawing.Color.Black;
                }
            }
            lblTotalList.Text = listSeats.Items.Count.ToString() + " Ticket(s) are choosing";

        }

        
           
    }
}

Karthik_Mahalingam

покажите код, как вы привязываете данные к списку флажков

2 Ответов

Рейтинг:
18

Karthik_Mahalingam

пробовать

if (item.Selected)
         item.Enabled = false;


Maathavan Balasubramanian

k сэр. у меня есть несколько шоу в каждом day.it отключите все билеты на шоу.как я буду писать запрос

Karthik_Mahalingam

Запрос по show id

Maathavan Balasubramanian

у меня разные даты, разные шоу и разные фильмы.Но я хочу отключить его одним запросом

Karthik_Mahalingam

однако show id будет уникальным,
вам придется перепроектировать свое приложение

Maathavan Balasubramanian

как только я нажимаю 4 билета и отправляю их, он показывает, что вы забронировали 1,2,3,4 билета.После загрузки страницы эти 4 места отключаются.

Затем я нажимаю different 3 tickets.it показывает, что вы забронировали 1,2,3,4,5,6,7 билета.

Karthik_Mahalingam

хорошо, правильно?

Maathavan Balasubramanian

ЭТО ПЕРВЫЙ РАЗ
как только я нажимаю 4 билета и отправляю их, он показывает, что вы забронировали 1,2,3,4 билета.После загрузки страницы эти 4 места отключаются.

ЭТО УЖЕ ВТОРОЙ РАЗ
Последние 4 билета отключены.
Затем я нажимаю different 3 tickets.it показывает, что вы забронировали 1,2,3,4,5,6,7 билета.Но мне нужно(он показывает, что вы забронировали 5,6,7).И всего будет отключено 7 билетов.

Karthik_Mahalingam

вам придется фильтровать только по включенному флажку.

Рейтинг:
1

Maathavan Balasubramanian

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace WebApplication1
{
    public partial class MovieDetails : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                chkSeatsAvailability.Items.Clear();
                PopulateBookedSeats();
                
            }
        } 

        private void PopulateBookedSeats()
        {
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                        
                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.CommandText = "select * from tblBookedSeats";
                    cmd.Connection = conn;
                    conn.Open();
                    using (SqlDataReader sdr = cmd.ExecuteReader())
                    {
                        while (sdr.Read())
                        {
                            ListItem item = new ListItem();
                            item.Text = sdr["Seat_No"].ToString();
                            item.Value = sdr["Seat_ID"].ToString();
                            item.Selected = Convert.ToBoolean(sdr["IsSelected"]);
                            if(item.Selected)
                            item.Attributes.CssStyle.Add("readonly","true");
                            chkSeatsAvailability.Items.Add(item);                            
                        }
                        
                    }
                          
                    
                    conn.Close();
                }
            }
        }  

        protected void btnSubmit_Click(object sender, EventArgs e)
        {

            copyMovieName.Text = lblMovieName.Text;
            lblSelectedMovie.Text = ddlMovieNames.SelectedItem.Text;

            copyDate.Text = lblDate.Text;
            lblSelectedDate.Text = txtDate.Text;


            copyShowName.Text = lblShowName.Text;
            lblSelecetedShow.Text = ddlShowName.SelectedItem.Text;


            copySeats.Text = lblSeatsAvailability.Text;


            String CS = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;

            using (SqlConnection cn = new SqlConnection(CS))
            {
                cn.Open();                

                string interests = string.Empty;
                foreach (ListItem li in chkSeatsAvailability.Items)
                {
                    if (li.Selected)
                    {
                        interests += li + ",";
                        lblSelectedSeats.Text = interests;                        
                                            
                    }
                }       

                SqlCommand cmd = cn.CreateCommand();

                cmd.CommandType = CommandType.Text;

                cmd.CommandText = "insert into tblBookingDetails(Date,Movie_Name,Show_Name,Seats_Availability) values(@Date,@Movie_Name,@Show_Name,@Seats_Availability)";
                cmd.Parameters.AddWithValue("@Movie_Name", ddlMovieNames.SelectedItem.Text);
                cmd.Parameters.AddWithValue("@Date",Convert.ToDateTime(txtDate.Text));
                cmd.Parameters.AddWithValue("@Show_Name", ddlShowName.SelectedItem.Text);
                cmd.Parameters.AddWithValue("@Seats_Availability", interests);

                cmd.ExecuteNonQuery();               

                cn.Close();
                

                String str = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
                            
                    using (SqlCommand command = new SqlCommand())
                    {
                        command.CommandText = "update tblBookedSeats set IsSelected = @IsSelected where Seat_ID=@Seat_ID";
                        command.Connection = conn;

                        conn.Open();
                        foreach (ListItem item in chkSeatsAvailability.Items)
                        {
                            command.Parameters.Clear();
                            command.Parameters.AddWithValue("@IsSelected", item.Selected);
                            command.Parameters.AddWithValue("@Seat_ID", item.Value);
                            command.ExecuteNonQuery();
                            [
                        }
                       
                        conn.Close();

                       
                    }
                }         
               
            }

        }



        protected void chkSeatsAvailability_SelectedIndexChanged(object sender, EventArgs e)
        {
            listSeats.Items.Clear();
            foreach (ListItem li in chkSeatsAvailability.Items)
            {
                if (li.Selected)
                {
                    listSeats.Items.Add(li.Text);
                }

                if (chkSeatsAvailability.SelectedIndex==-1)
                {
                    lblTotalList.ForeColor = System.Drawing.Color.Red;
                }
                else
                {
                    lblTotalList.ForeColor = System.Drawing.Color.Black;
                }
            }
            lblTotalList.Text = listSeats.Items.Count.ToString() + " Ticket(s) are choosing";

        }

        
           
    }
}


Karthik_Mahalingam

не используйте раствор, чтобы получить возможность отправлять комментарии/запрос
Воспользуйся Улучшить вопрос чтобы отредактировать вопрос.
Удалить это решение

Maathavan Balasubramanian

к сэр

Karthik_Mahalingam

я добавил код к решению
в соответствии, которое вы столкнулись с вопросом

Maathavan Balasubramanian

метод populateBookedSeats () в цикле while.