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;


        Page_Load#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


        DataGrid1_ItemDataBound#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


        Web Form Designer generated code#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

    }