Click here to Skip to main content
16,016,527 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
my code as below...
HTML
<asp:Label ID="lbl_selcat" runat="server" Text="Select catalogue:">
       <asp:DropDownList ID="ddl_catalogue" runat="server">
       
      <asp:GridView ID="GridView1" runat="server"  DataKeyNames="id" onrowcancelingedit="GridView1_RowCancelingEdit" 
          onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing" 
          onrowupdating="GridView1_RowUpdating"
       AutoGenerateColumns="False" BorderColor="Black" BorderWidth="2px" 
          HeaderStyle-BackColor="#FF6600" HeaderStyle-BorderStyle="NotSet" 
          HeaderStyle-Font-Bold="True" HeaderStyle-Font-Italic="True" 
          HeaderStyle-Font-Size="Medium" HeaderStyle-Font-Underline="True" 
          HeaderStyle-ForeColor="White">
           <columns>
           
             <asp:BoundField DataField="id" HeaderText="ID" />
               <asp:BoundField DataField="cat_id" HeaderText="cat_id" />
               <asp:BoundField HeaderText="Name" DataField="name" />
               <asp:BoundField DataField="type" HeaderText="Type" />
               <asp:BoundField DataField="price" HeaderText="Price" />
               <asp:ImageField DataImageUrlField="image" HeaderText="IMAGE">
               <controlstyle height="200px" width="200px" />
               
               <asp:BoundField DataField="description" HeaderText="Description" />
               <asp:CommandField ShowEditButton="True" />
               <asp:CommandField ShowDeleteButton="True" />
              </columns>

<HeaderStyle BackColor="#FF6600" Font-Bold="True" Font-Italic="True" Font-Size="Medium" Font-Underline="True" ForeColor="White"></HeaderStyle>



aspx.cs file

C#
protected void Page_Load(object sender, EventArgs e)
   {
       if (IsPostBack != true)
       {
           ddl_catalogue.DataSource = GetData();
           ddl_catalogue.DataValueField="cat_id";
           ddl_catalogue.DataTextField = "cat_nm";
           ddl_catalogue.DataBind();
           ddl_catalogue.Items.Insert(0, new ListItem("---Select---", "0"));


       }

   }

 protected void ddl_catalogue_SelectedIndexChanged(object sender, EventArgs e)
   {
       SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");
       SqlCommand cmd = new SqlCommand("select * from cat_detail where cat_id='"+ddl_catalogue.SelectedValue+"'", con);
       con.Open();
       SqlDataReader dr = cmd.ExecuteReader();
       if (dr.HasRows)
       {
         GridView1.DataSource = dr;
         GridView1.DataBind();

       }
               dr.Close();
               con.Close();
   }
   DataTable GetData()
   {
           DataTable dt=new DataTable();
           SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True");
           SqlCommand cmd=new SqlCommand("select * from catalogue",con);
           con.Open();
           SqlDataAdapter sda=new SqlDataAdapter(cmd);
           sda.Fill(dt);
           return dt;
   }
Posted
Updated 26-Feb-14 6:30am
v2

1 solution

Use DataAdapter while binding GridView.
C#
SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd, con);
DataTable dt = new DataTable();
dataAdapter.Fill(dt);

GridView1.DataSource = dt;
GridView1.DataBind();

Also use Parameterized query while initializing a SqlCommand object.
 
Share this answer
 
Comments
Member 10627896 26-Feb-14 12:52pm    
belowed your code where i put in my code????
Inside ddl_catalogue_SelectedIndexChanged Event.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900