Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p><strong>IMAGE</strong></p> <p><img src="https://i.stack.imgur.com/AIzwd.png" alt="Your requirement"></p> <p><strong>.aspx</strong></p> <pre><code>&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="CS.aspx.cs" Inherits="CS" %&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml"&gt; &lt;head runat="server"&gt; &lt;title&gt;&lt;/title&gt; &lt;style type="text/css"&gt; 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% } &lt;/style&gt; &lt;script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;&lt;/script&gt; &lt;script type="text/javascript"&gt; $("[src*=plus]").live("click", function () { $(this).closest("tr").after("&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td colspan = '999'&gt;" + $(this).next().html() + "&lt;/td&gt;&lt;/tr&gt;") $(this).attr("src", "images/minus.png"); }); $("[src*=minus]").live("click", function () { $(this).attr("src", "images/plus.png"); $(this).closest("tr").next().remove(); }); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;form id="form1" runat="server"&gt; &lt;asp:GridView ID="gvCustomers" runat="server" AutoGenerateColumns="false" CssClass="Grid" DataKeyNames="CustomerID" OnRowDataBound="OnRowDataBound"&gt; &lt;Columns&gt; &lt;asp:TemplateField&gt; &lt;ItemTemplate&gt; &lt;img alt = "" style="cursor: pointer" src="images/plus.png" /&gt; &lt;asp:Panel ID="pnlOrders" runat="server" Style="display: none"&gt; &lt;asp:GridView ID="gvOrders" runat="server" AutoGenerateColumns="false" CssClass = "ChildGrid"&gt; &lt;Columns&gt; &lt;asp:BoundField ItemStyle-Width="150px" DataField="OrderId" HeaderText="Order Id" /&gt; &lt;asp:BoundField ItemStyle-Width="150px" DataField="OrderDate" HeaderText="Date" /&gt; &lt;/Columns&gt; &lt;/asp:GridView&gt; &lt;/asp:Panel&gt; &lt;/ItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:BoundField ItemStyle-Width="150px" DataField="ContactName" HeaderText="Contact Name" /&gt; &lt;asp:BoundField ItemStyle-Width="150px" DataField="City" HeaderText="City" /&gt; &lt;/Columns&gt; &lt;/asp:GridView&gt; &lt;/form&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p><strong>C#</strong></p> <pre><code>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; public partial class CS : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { gvCustomers.DataSource = GetData("select top 10 * from Customers"); gvCustomers.DataBind(); } } private static DataTable GetData(string query) { string strConnString = ConfigurationManager.ConnectionStrings["constr"].ConnectionString; using (SqlConnection con = new SqlConnection(strConnString)) { using (SqlCommand cmd = new SqlCommand()) { cmd.CommandText = query; using (SqlDataAdapter sda = new SqlDataAdapter()) { cmd.Connection = con; sda.SelectCommand = cmd; using (DataSet ds = new DataSet()) { DataTable dt = new DataTable(); sda.Fill(dt); return dt; } } } } } protected void OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { string customerId = gvCustomers.DataKeys[e.Row.RowIndex].Value.ToString(); GridView gvOrders = e.Row.FindControl("gvOrders") as GridView; gvOrders.DataSource = GetData(string.Format("select top 3 * from Orders where CustomerId='{0}'", customerId)); gvOrders.DataBind(); } } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload