Webform Using MasterPage
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<div class="content container-fluid">
<div class="row">
<div class="col-xs-12 col-md-12">
<!-- PANEL: States -->
<div class="panel panel-info">
<!-- Panel Heading -->
<div class="panel-heading">
<!-- Panel Title -->
<div class="panel-title">
Add Product</div>
<!-- /Panel Title -->
</div>
<!-- /Panel Heading -->
<!-- Panel Body -->
<div class="panel-body">
<asp:GridView ID="gvProductList" runat="server" AllowPaging="true" PageSize="10"
AutoGenerateColumns="false" CssClass="Grid" PagerStyle-CssClass="paging" ShowFooter="true"
AutoGenerateEditButton="false" OnRowEditing="gvProductList_OnRowEditing" OnRowCancelingEdit="gvProductList_OnRowCancelingEdit"
OnRowUpdating="gvProductList_RowUpdating" OnRowDataBound="gvProductList_RowDataBound" OnPageIndexChanging="OnPageIndexChanging">
<Columns>
<asp:TemplateField HeaderText="Sr. No.">
<ItemTemplate>
<%# Container.DataItemIndex + 1 %>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Product Id">
<ItemTemplate>
<asp:Label ID="lbl_ProductID" runat="server" Text='<%#Eval("ProductID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Product Name">
<ItemTemplate>
<asp:Label ID="lbl_ProudctName" runat="server" Text='<%#Eval("ProudctName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Category Name">
<ItemTemplate>
<asp:Label ID="lbl_CategoryName" runat="server" Text='<%#Eval("CategoryName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlCategoryName" CssClass="form-control" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Sub Category Name">
<ItemTemplate>
<asp:Label ID="lbl_SubCategoryName" runat="server" Text='<%#Eval("SubCategoryName") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlSubCategoryName" CssClass="form-control" runat="server">
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Qty">
<ItemTemplate>
<asp:Label ID="lbl_Qty" runat="server" Text='<%#Eval("Qty") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>
<asp:Label ID="Label1" runat="server"></asp:Label>
</div>
</div>
</div>
</div>
</div>
</asp:Content>
CodeBehind
protected void gvProductList_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
Label lbl_ProductId= gvProductList.Rows[e.RowIndex].FindControl("lbl_ProductId")as Label;
Label lbl_ProudctName = gvProductList.Rows[e.RowIndex].FindControl("lbl_ProudctName") as Label;
DropDownList ddlCategoryName = gvProductList.Rows[e.RowIndex].FindControl("ddlCategoryName") as DropDownList;
DropDownList ddlSubCategoryName = gvProductList.Rows[e.RowIndex].FindControl("ddlSubCategoryName") as DropDownList;
Label lbl_Qty = gvProductList.Rows[e.RowIndex].FindControl("lbl_Qty") as Label;
Obj_Product.ProductID = int.Parse(lbl_ProductId.Text);
Obj_Product.ProudctName = lbl_ProudctName.Text;
obj_category.CategoryName = ddlCategoryName.SelectedValue;
obj_subCategory.SubCategoryName = ddlSubCategoryName.SelectedValue;
Obj_Product.Qty = int.Parse(lbl_Qty.Text);
}
protected void gvProductList_RowDataBound(object sender, GridViewRowEventArgs e)
{
//if (e.Row.RowType == DataControlRowType.DataRow && gvProductList.EditIndex == e.Row.RowIndex)
//{
//DropDownList ddlCategoryName7 = (DropDownList)e.Row.FindControl("ddlCategoryName");
//ds = obj_category.FillCombo();
//ddlCategoryName7.DataSource = ds.Tables[0];
//ddlCategoryName7.DataTextField = "CategoryName";
//ddlCategoryName7.DataValueField = "CategoryID";
//ddlCategoryName7.DataBind();
//ddlCategoryName7.Items.FindByValue((e.Row.FindControl("lbl_CategoryName") as Label).Text).Selected = true;
try
{
if (e.Row.RowType == DataControlRowType.DataRow && gvProductList.EditIndex == e.Row.RowIndex)
{
DropDownList ddlCategoryName = (DropDownList)e.Row.FindControl("ddlCategoryName");
ds = obj_category.FillCombo();
ddlCategoryName.DataSource = ds;
ddlCategoryName.DataTextField = "CategoryName";
ddlCategoryName.DataValueField = "CategoryID";
ddlCategoryName.DataBind();
ddlCategoryName.Items.Insert(0,new ListItem("---Select---","0"));
//ddlCategoryName.Items.FindByValue((e.Row.FindControl("lbl_CategoryName") as Label).Text).Selected = true;
DropDownList ddlSubCategoryName = (DropDownList)e.Row.FindControl("ddlSubCategoryName");
ds = obj_subCategory.FillCombo();
ddlSubCategoryName.DataSource = ds;
ddlSubCategoryName.DataTextField = "SubCategoryName";
ddlSubCategoryName.DataValueField = "SubCategoryID";
ddlSubCategoryName.DataBind();
ddlSubCategoryName.Items.Insert(0, new ListItem("---Select---", "0"));
}
}
catch (Exception ex)
{
UWSExceptionLogging.SendExcepToDB(ex);
Label1.Text = "Some Technical Error occurred,Please visit after some time";
}
//ddlCategoryName.Items.Insert(0, new ListItem("select Category", "0"));
}
protected void ddlCategoryName_OnSelectedIndexChanged(object sender, EventArgs e)
{
DropDownList drp = (DropDownList)sender;
GridViewRow gvRow = (GridViewRow)drp.NamingContainer;
int index = gvRow.RowIndex;
DropDownList ddlCategoryName =(DropDownList)gvProductList.Rows[index].FindControl("ddlCategoryName");
//DropDownList ObjddlSubCategory=new DropDownList();
//ds = obj_subCategory.FillCombo();
//ObjddlSubCategory.DataSource = ds.Tables[0];
//ObjddlSubCategory.DataTextField = "SubCategoryName";
//ObjddlSubCategory.DataValueField = "SubCategoryID";
//ObjddlSubCategory.DataBind();
//ObjddlSubCategory.Items.Insert(0, new ListItem("select Sub Category", "0"));
}