DataGrid实现tooltip功能

http://www.cnblogs.com/singlepine/archive/2006/01/01/309354.html


1.html代码
<HTML>
    
<HEAD>
        
<title>DataGridTooltip</title>
        
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
        
<meta name="CODE_LANGUAGE" Content="C#">
        
<meta name="vs_defaultClientScript" content="JavaScript">
        
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
        
<style type="text/css"> .transparent { BORDER-RIGHT: indianred 1px solid; BORDER-TOP: indianred 1px solid; DISPLAY: none; FILTER: alpha(opacity=85); BORDER-LEFT: indianred 1px solid; BORDER-BOTTOM: indianred 1px solid; POSITION: absolute; BACKGROUND-COLOR: infobackground } </style>
        
<script language="javascript">
            
function Show(Country, City, Address, PostalCode, Phone, Fax)
            
{
                
//debugger;
                document.getElementById("td1").innerText="国家:"+Country;
                document.getElementById(
"td2").innerText="城市:"+City;
                document.getElementById(
"td3").innerText="地址:"+Address;
                document.getElementById(
"td4").innerText="邮编:"+PostalCode;
                document.getElementById(
"td5").innerText="电话:"+Phone;
                document.getElementById(
"td6").innerText="传真:"+Fax;
                x 
= event.clientX + document.body.scrollLeft;
                y 
= event.clientY + document.body.scrollTop + 20;
                Popup.style.display
="block";
                Popup.style.left 
= x;
                Popup.style.top 
= y;                
            }

            
function Hide()
            
{
                Popup.style.display
="none";
            }

        
</script>
    
</HEAD>
    
<body MS_POSITIONING="GridLayout">
        
<form id="Form1" method="post" runat="server">
            
<div id="Popup" class="transparent">
                
<table border="0" cellpadding="0" bgColor="#00ccff">
                    
<tr>
                        
<td align="center" bgcolor="indianred"><font color="white">联系方式</font></td>
                    
</tr>
                    
<tr>
                        
<td id="td1"></td>
                    
</tr>
                    
<tr>
                        
<td id="td2"></td>
                    
</tr>
                    
<tr>
                        
<td id="td3"></td>
                    
</tr>
                    
<tr>
                        
<td id="td4"></td>
                    
</tr>
                    
<tr>
                        
<td id="td5"></td>
                    
</tr>
                    
<tr>
                        
<td id="td6"></td>
                    
</tr>
                
</table>
            
</div>
            
<asp:DataGrid id="DataGrid1" runat="server">
                
<FooterStyle ForeColor="#003399" BackColor="#99CCCC"></FooterStyle>
                
<SelectedItemStyle Font-Bold="True" ForeColor="#CCFF99" BackColor="#009999"></SelectedItemStyle>
                
<ItemStyle ForeColor="#003399" BackColor="White"></ItemStyle>
                
<HeaderStyle Font-Bold="True" ForeColor="#CCCCFF" BackColor="#003399"></HeaderStyle>
                
<PagerStyle HorizontalAlign="Left" ForeColor="#003399" BackColor="#99CCCC" Mode="NumericPages"></PagerStyle>
            
</asp:DataGrid>
        
</form>
    
</body>
</HTML>
2.cs代码
public class DataGridTooltip : System.Web.UI.Page
    
{
        
protected System.Web.UI.WebControls.DataGrid DataGrid1;
        
private DataTable dt;

        
#region Page_Load
        
private void Page_Load(object sender, System.EventArgs e)
        
{
            
if(!IsPostBack)
            
{
                SqlConnection cnn 
= new SqlConnection();
                cnn.ConnectionString 
= "data source=meng;initial catalog=Northwind;password=sa;persist security info=True;user id=sa;packet size=4096";

                
string sqlstr = "select Top 16 CustomerID, CompanyName,ContactTitle,Country, City, Address,PostalCode,Phone,Fax from Customers";

                cnn.Open();
                SqlDataAdapter ad 
= new SqlDataAdapter(sqlstr,cnn);
                dt 
= new DataTable();
                ad.Fill(dt);

                DataGrid1.DataSource 
= dt;
                DataGrid1.DataBind();
            }

        }

        
#endregion


        
#region DataGrid1_ItemDataBound
        
private void DataGrid1_ItemDataBound(object sender,System.Web.UI.WebControls.DataGridItemEventArgs e)
        
{
            
if(e.Item.ItemType == ListItemType.AlternatingItem|| e.Item.ItemType == ListItemType.Item)
            
{
                e.Item.Attributes.Add(
"onmouseover","this.oldcolor=this.style.backgroundColor;this.style.backgroundColor='#C8F7FF';");

                e.Item.Attributes.Add(
"onmousemove",
                    
"Show('"+dt.Rows[e.Item.ItemIndex]["country"].ToString()+"','"
                    
+dt.Rows[e.Item.ItemIndex]["City"].ToString()+"','"                       
                    
+dt.Rows[e.Item.ItemIndex]["Address"].ToString()+"','"                       
                    
+dt.Rows[e.Item.ItemIndex]["PostalCode"].ToString()+"','"
                    
+dt.Rows[e.Item.ItemIndex]["Phone"].ToString()+"','"
                    
+dt.Rows[e.Item.ItemIndex]["Fax"].ToString()+"');");
                e.Item.Attributes.Add(
"onmouseout",    "this.style.backgroundColor=this.oldcolor;Hide();");
            }

        }

        
#endregion


        
#region Web Form Designer generated code
        
override protected void OnInit(EventArgs e)
        
{
            
//
            
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
            
//
            InitializeComponent();
            
base.OnInit(e);
        }

        
        
/// <summary>
        
/// Required method for Designer support - do not modify
        
/// the contents of this method with the code editor.
        
/// </summary>

        private void InitializeComponent()
        
{    
            
this.DataGrid1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.DataGrid1_ItemDataBound);
            
this.Load += new System.EventHandler(this.Page_Load);

        }

        
#endregion

    }
原文地址:https://www.cnblogs.com/godwar/p/810906.html