<%@ Page
Language="C#"
AutoEventWireup="true"
CodeFile="Grid.aspx.cs"
Inherits="Grid"
%>
<%@ Register
Assembly="AjaxControlToolkit"
Namespace="AjaxControlToolkit"
TagPrefix="asp"
%>
<!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">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ToolkitScriptManager
ID="ToolkitScriptManager1"
runat="server">
</asp:ToolkitScriptManager>
<div>
<asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False"
BorderColor="#336699"
BorderStyle="Solid"
BorderWidth="1px"
CellPadding="3"
Font-Names="Verdana"
Font-Size="10pt"
OnRowCreated="GridView1_RowCreated">
<Columns>
<asp:BoundField DataField="ProductID"
HeaderText="Product
ID" />
<asp:BoundField DataField="ProductName"
HeaderText="Product
Name" />
<asp:TemplateField ItemStyle-Width="40"
ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl="Images/image.jpg" />
<asp:PopupControlExtender id="PopupControlExtender1" runat="server"
PopupControlID="Panel1"
TargetControlID="Image1"
DynamicContextKey='<%# Eval("ProductID") %>' DynamicControlID="Panel1"
DynamicServiceMethod="GetDynamicContent"
Position="Bottom">
</asp:popupcontrolextender>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<HeaderStyle BackColor="#336699"
ForeColor="White"
/>
</asp:GridView>
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
</div>
</form>
</body>
</html>
------------------------------------------------------------------------------
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;
using System.Text;
using AjaxControlToolkit;
public partial class Grid :
System.Web.UI.Page
{
protected void
Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
LoadData();
}
}
private void
LoadData()
{
string constr = "Data
Source=KCLINK-45-PC\\SQLEXPRESS;Initial Catalog=naresh;Integrated
Security=True";
string query = "SELECT
ProductID, ProductName FROM aaaa";
SqlDataAdapter da = new
SqlDataAdapter(query, constr);
DataTable table = new
DataTable();
da.Fill(table);
GridView1.DataSource = table;
GridView1.DataBind();
}
protected void
GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
PopupControlExtender pce = e.Row.FindControl("PopupControlExtender1")
as PopupControlExtender;
string behaviorID = "pce_"
+ e.Row.RowIndex;
//pce.BehaviorID = behaviorID;
Image img = (Image)e.Row.FindControl("Image1");
string OnMouseOverScript = string.Format("$find('{0}').showPopup();",
behaviorID);
string OnMouseOutScript = string.Format("$find('{0}').hidePopup();",
behaviorID);
img.Attributes.Add("onmouseover",
OnMouseOverScript);
img.Attributes.Add("onmouseout",
OnMouseOutScript);
}
}
[System.Web.Services.WebMethodAttribute(),
System.Web.Script.Services.ScriptMethodAttribute()]
public static string GetDynamicContent(string
contextKey)
{
string constr = "Data
Source=KCLINK-45-PC\\SQLEXPRESS;Initial Catalog=naresh;Integrated
Security=True";
string query = "SELECT
UnitPrice,Description FROM aaa WHERE ProductID = " + contextKey;
SqlDataAdapter da = new
SqlDataAdapter(query, constr);
DataTable table = new
DataTable();
da.Fill(table);
StringBuilder b = new
StringBuilder();
b.Append("<table
style='background-color:#f3f3f3; border: #336699 3px solid; ");
b.Append("width:350px; font-size:10pt;
font-family:Verdana;' cellspacing='0' cellpadding='3'>");
b.Append("<tr><td colspan='3'
style='background-color:#336699; color:white;'>");
b.Append("<b>Product Details</b>");
b.Append("</td></tr>");
b.Append("<tr><td
style='width:80px;'><b>Unit Price</b></td>");
//b.Append("<td
style='width:80px;'><b>Stock</b></td>");
b.Append("<td><b>Description</b></td></tr>");
b.Append("<tr>");
b.Append("<td>"
+ table.Rows[0]["UnitPrice"].ToString()
+ "</td>");
//b.Append("<td>" +
table.Rows[0]["UnitsInStock"].ToString() + "</td>");
b.Append("<td>" +
table.Rows[0]["Description"].ToString()
+ "</td>");
b.Append("</tr>");
b.Append("</table>");
return b.ToString();
}
}
----------------------------------------------------------------------------------------------------