What is Nested Gridview :-
Gridview Contain more than one other Gridview inside in it. It’s Called
a nested Gridview.this type of Facility is provided by asp.net and are very
useful to store All Detail in it.
For Example:-
Suppose we
have to Display student personal information and student Education Detail at
that time one gridview can not capable of Displaying All information of student
like personal and Education because of each contain more Field like Name,Age
etc .. in personal information and Degree,Year,Result etc.. in Educational
information so that type of information one Gridview can not Display in a
proper manner because of screen Width. Due to this problem we are create a
Nested Gridview in which parent Gridview contain student personal information
and Child Gridview contain Educational Detail so all different type of
information are store in proper way.
So main Advantage of this Example is
that we can Display our data in a Proper way so our Website user can easily
Understand and we can make a user Friendlly Website through this type of
example.
How to Create Nested Gridview in MVC click Here Nested GridView in MVC
to show example of how to send SMS in asp.net click here Send SMS to user in asp.net
How to sorting the Data or row in Gridview Sorting data in Gridview based on cloumn name
to show example of Export Gridview data to PDF in asp.net click here Export gridview data to PDF
showpro1.aspx:-
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="showpro1.aspx.cs" Inherits="showpro1" EnableEventValidation="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
.Grid td
{
background-color: #A1DCF2;
color: black;
font-size: 10pt;
line-height:200%
}
.Grid th
{
background-color: #3AC0F2;
color: White;
font-size: 10pt;
line-height:200%
}
.ChildGrid td
{
background-color: #eee !important;
color: black;
font-size: 10pt;
line-height:200%
}
.ChildGrid th
{
background-color: #6C6C6C !important;
color: White;
font-size: 10pt;
line-height:200%
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$("[src*=plus]").live("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "images/minus.png");
});
$("[src*=minus]").live("click", function () {
$(this).attr("src", "images/plus.png");
$(this).closest("tr").next().remove();
});
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvCustomers" runat="server" CssClass="Grid"
Font-Size="Large"
ForeColor="#333333" ShowFooter="True" CellPadding="4" GridLines="None"
AutoGenerateColumns="False" DataKeyNames="pid"
onrowediting="GridView1_RowEditing" onrowdeleting="GridView1_RowDeleting" onrowdatabound="GridView1_RowDataBound1"
>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<img alt = "" style="cursor: pointer" src="images/plus.png" />
<asp:Panel ID="pnlOrders" runat="server" Style="display: none">
<asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="false" CssClass = "ChildGrid">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="quantity" HeaderText="Quantity" />
<asp:BoundField ItemStyle-Width="150px" DataField="rate" HeaderText="Rate" />
</Columns>
</asp:GridView>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" Visible="false">
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%# Eval("pid") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("pid") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("descp") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("descp") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("total") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblgrand" runat="server"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete" >Delete</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit" >Edit</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<style type="text/css">
body
{
font-family: Arial;
font-size: 10pt;
}
.Grid td
{
background-color: #A1DCF2;
color: black;
font-size: 10pt;
line-height:200%
}
.Grid th
{
background-color: #3AC0F2;
color: White;
font-size: 10pt;
line-height:200%
}
.ChildGrid td
{
background-color: #eee !important;
color: black;
font-size: 10pt;
line-height:200%
}
.ChildGrid th
{
background-color: #6C6C6C !important;
color: White;
font-size: 10pt;
line-height:200%
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$("[src*=plus]").live("click", function () {
$(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
$(this).attr("src", "images/minus.png");
});
$("[src*=minus]").live("click", function () {
$(this).attr("src", "images/plus.png");
$(this).closest("tr").next().remove();
});
</script>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="gvCustomers" runat="server" CssClass="Grid"
Font-Size="Large"
ForeColor="#333333" ShowFooter="True" CellPadding="4" GridLines="None"
AutoGenerateColumns="False" DataKeyNames="pid"
onrowediting="GridView1_RowEditing" onrowdeleting="GridView1_RowDeleting" onrowdatabound="GridView1_RowDataBound1"
>
<FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#FFFBD6" ForeColor="#333333" />
<SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="Navy" />
<PagerStyle BackColor="#FFCC66" ForeColor="#333333" HorizontalAlign="Center" />
<HeaderStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<img alt = "" style="cursor: pointer" src="images/plus.png" />
<asp:Panel ID="pnlOrders" runat="server" Style="display: none">
<asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="false" CssClass = "ChildGrid">
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="quantity" HeaderText="Quantity" />
<asp:BoundField ItemStyle-Width="150px" DataField="rate" HeaderText="Rate" />
</Columns>
</asp:GridView>
</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="ID" Visible="false">
<ItemTemplate>
<asp:Label ID="Label10" runat="server" Text='<%# Eval("pid") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("pid") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("name") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Eval("name") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Eval("descp") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Eval("descp") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Total">
<ItemTemplate>
<asp:Label ID="Label5" runat="server" Text='<%# Eval("total") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:Label ID="lblgrand" runat="server"></asp:Label>
</FooterTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton2" runat="server" CommandName="Delete" >Delete</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" CommandName="Edit" >Edit</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</form>
</body>
</html>
showpro1.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
public partial class showpro1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "<script> alert('added successfully');</script>");
grid();
}
public void grid()
{
DataTable ds = new DataTable();
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "SELECT hk_product.name, hk_product.descp, hk_product.pid,SUM(hk_rproduct.total) AS total FROM hk_product INNER JOIN hk_rproduct ON hk_product.pid = hk_rproduct.rpid GROUP BY hk_product.pid, hk_product.name, hk_product.descp";
SqlConnection conn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q, conn);
SqlDataAdapter sa = new SqlDataAdapter();
conn.Open();
cmd.ExecuteNonQuery();
sa.SelectCommand = cmd;
sa.Fill(ds);
gvCustomers.DataSource = ds;
gvCustomers.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
Label l = (Label)gvCustomers.Rows[e.NewEditIndex].FindControl("Label10");
Response.Redirect("prorelgrid.aspx?id=" + l.Text);
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = Int32.Parse(gvCustomers.DataKeys[e.RowIndex].Value.ToString());
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
//Menu inm = (Menu)this.Master.FindControl("Menu1");
//string q1="DELETE FROM hk_product t1 INNER JOIN hk_rproduct t2 ON ( t1.pid = t2.rpid )";
string q1 = "delete from hk_product where pid = " + id;
// string q2 = "delete from hk_rproduct where rpid = " + id;
SqlConnection cn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q1, cn);
// SqlCommand cmd1 = new SqlCommand(q2, cn);
cn.Open();
// cmd1.ExecuteNonQuery();
cmd.ExecuteNonQuery();
gvCustomers.EditIndex = -1;
grid();
}
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
Label l = (Label)e.Row.FindControl("lblgrand");
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "select sum(total) from hk_rproduct";
SqlConnection conn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q, conn);
conn.Open();
l.Text = cmd.ExecuteScalar().ToString();
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
string customerId = gvCustomers.DataKeys[e.Row.RowIndex].Value.ToString();
GridView gvOrders = e.Row.FindControl("gvOrders") as GridView;
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "select quantity,rate from hk_rproduct";
SqlConnection conn = new SqlConnection(con);
DataTable dt = new DataTable();
SqlDataAdapter sa = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand(q, conn);
conn.Open();
cmd.ExecuteNonQuery();
sa.SelectCommand = cmd;
sa.Fill(dt);
gvOrders.DataSource = dt;
gvOrders.DataBind();
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Data;
public partial class showpro1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// ClientScript.RegisterClientScriptBlock(this.GetType(), "key", "<script> alert('added successfully');</script>");
grid();
}
public void grid()
{
DataTable ds = new DataTable();
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "SELECT hk_product.name, hk_product.descp, hk_product.pid,SUM(hk_rproduct.total) AS total FROM hk_product INNER JOIN hk_rproduct ON hk_product.pid = hk_rproduct.rpid GROUP BY hk_product.pid, hk_product.name, hk_product.descp";
SqlConnection conn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q, conn);
SqlDataAdapter sa = new SqlDataAdapter();
conn.Open();
cmd.ExecuteNonQuery();
sa.SelectCommand = cmd;
sa.Fill(ds);
gvCustomers.DataSource = ds;
gvCustomers.DataBind();
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
Label l = (Label)gvCustomers.Rows[e.NewEditIndex].FindControl("Label10");
Response.Redirect("prorelgrid.aspx?id=" + l.Text);
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = Int32.Parse(gvCustomers.DataKeys[e.RowIndex].Value.ToString());
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
//Menu inm = (Menu)this.Master.FindControl("Menu1");
//string q1="DELETE FROM hk_product t1 INNER JOIN hk_rproduct t2 ON ( t1.pid = t2.rpid )";
string q1 = "delete from hk_product where pid = " + id;
// string q2 = "delete from hk_rproduct where rpid = " + id;
SqlConnection cn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q1, cn);
// SqlCommand cmd1 = new SqlCommand(q2, cn);
cn.Open();
// cmd1.ExecuteNonQuery();
cmd.ExecuteNonQuery();
gvCustomers.EditIndex = -1;
grid();
}
protected void GridView1_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
Label l = (Label)e.Row.FindControl("lblgrand");
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "select sum(total) from hk_rproduct";
SqlConnection conn = new SqlConnection(con);
SqlCommand cmd = new SqlCommand(q, conn);
conn.Open();
l.Text = cmd.ExecuteScalar().ToString();
}
if (e.Row.RowType == DataControlRowType.DataRow)
{
string customerId = gvCustomers.DataKeys[e.Row.RowIndex].Value.ToString();
GridView gvOrders = e.Row.FindControl("gvOrders") as GridView;
string con = @"Data Source=SQLDB;Initial Catalog=Demo;User ID=Demod;Password=Demo1@";
// "select k_sale.id,k_order.mid,k_order.cid,k_order.pro_image,k_order.pr_name,k_order.prize,k_order.quantity,k_order.status,k_order.total,kclient.ccname,kclient.cstate,kclient.ccity,kclient.caddress from k_order INNER JOIN kclient ON k_order.cid=kclient.id INNER JOIN k_sale ON k_sale.oid=k_order.id where k_order.mid ='" + Session["login"].ToString() + "' and k_order.status ='" + z + "'";
string q = "select quantity,rate from hk_rproduct";
SqlConnection conn = new SqlConnection(con);
DataTable dt = new DataTable();
SqlDataAdapter sa = new SqlDataAdapter();
SqlCommand cmd = new SqlCommand(q, conn);
conn.Open();
cmd.ExecuteNonQuery();
sa.SelectCommand = cmd;
sa.Fill(dt);
gvOrders.DataSource = dt;
gvOrders.DataBind();
}
}
}
0 comments:
Post a Comment