How to bind Dropdownlist in Gridview Rowdatabound Using Asp.Net C#

Bind Dropdownlist in Gridview Rowdatabound

Display Some Details in Gridview but we need list of values show to the user on gridview we bind the inside of gridview Dropdownlist using RoeDataBound event method Asp.Net C#.

DEMO



                                   Download


HTML CODING


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Gridview.aspx.cs" Inherits="Mysql_StoredProcedure" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div align="center">
    <table>
        <tr><td>&nbsp;</td><td>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" OnRowDataBound="GridView1_RowDataBound" OnRowEditing="GridView1_RowEditing">
                <Columns>
                    <asp:CommandField ShowEditButton="True" />
                    <asp:TemplateField HeaderText="User Id">
                        <ItemTemplate>
                            <asp:Label ID="Label1" runat="server" Text='<%# Eval("UserId") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:TemplateField HeaderText="User Name">
                        <EditItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server">
                            </asp:DropDownList>
                        </EditItemTemplate>
                        <ItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server">
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
                <HeaderStyle ForeColor="#CC3300" />
            </asp:GridView>
            </td></tr>
    </table>
    </div>
    </form>
</body>
</html>



C# CODING


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
using System.Data;

public partial class Mysql_StoredProcedure : System.Web.UI.Page
{
    protected void GridBind()
    {
        MySqlConnection con = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbc"].ToString());
        con.Open();
        MySqlCommand cmd = new MySqlCommand("select * from userinformation", con);

        MySqlDataAdapter adp = new MySqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        adp.Fill(ds);
        if (ds.Tables[0].Rows.Count > 0)
        {
            GridView1.DataSource = ds;
            GridView1.DataBind();
        }
        con.Close();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        GridBind();

    }
   
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // GridViewRow gr = (GridViewRow)FindControl("GridView1");
            DropDownList ddl = (DropDownList)e.Row.FindControl("DropDownList1");
            MySqlConnection con = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbc"].ToString());
            con.Open();
            MySqlCommand cmd1 = new MySqlCommand("select UserName from userinformation", con);
            MySqlDataReader rd1 = cmd1.ExecuteReader();
            ddl.Items.Clear();
            ddl.Items.Add("Select Username");
            while (rd1.Read())
            {
                ddl.Items.Add(rd1[0].ToString());
            }
            con.Close();

            if ((e.Row.RowState & DataControlRowState.Edit) > 0)
            {

                // GridViewRow gr = (GridViewRow)FindControl("GridView1");
                DropDownList ddll = (DropDownList)e.Row.FindControl("DropDownList1");
                MySqlConnection con1 = new MySqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["dbc"].ToString());
                con1.Open();
                MySqlCommand cmd = new MySqlCommand("select UserName from userinformation", con1);
                MySqlDataReader rd = cmd.ExecuteReader();
                ddl.Items.Clear();
                ddl.Items.Add("Select Username");
                while (rd.Read())
                {
                    ddll.Items.Add(rd[0].ToString());
                }
                con1.Close();

            }
        }
    }
  
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        GridBind();
    }

}


Add New web form - add Gridview - Edit Column - add - two Template fields 





Bind the User id - Gridview - Edit Template field 





Add - Dropdownlist to Gridview Item Template field




Next - shown below like gridview  - add gridview event - Rowdatabound



Below code for Gridview Itemtemplate Bind Coding





Next - Add Gridview - Commandfield - Edit Field 





Next - Add EditItemTemplate - Bind the Dropdownlist





Next - Shown below like  Gridview - Gridview event - add RowEditing




Below code for Gridview Edit template Bind Coding







0 comments:

Post a Comment