DataGrid中的高级ToolTip

原创 2007年09月28日 15:20:00
效果如下图所示:

实现原理:

     DataGrid中的每一行,绑定onmouseover、onmousemove、onmouseout事件,使的鼠标移动到行内时,自动显示一个<div>,鼠标移出该行,就把这个<div>隐藏掉。

实现代码:

     前台:

1.   定义<div>的样式:

<style type="text/css">

.transparent { FILTER: alpha(opacity=85);

BORDER-TOP: indianred 1px solid;

BORDER-RIGHT: indianred 1px solid; 

BORDER-LEFT: indianred 1px solid;

BORDER-BOTTOM: indianred 1px solid;

POSITION: absolute;

BACKGROUND-COLOR: infobackground;

DISPLAY: none  }

</style>

2.   显示和隐藏窗体的脚本:

<script language="JavaScript">

     //显示弹出窗体

     function Show(Country, City, Address, PostalCode, Phone, Fax)

     {

         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轴的坐标

         x = event.clientX + document.body.scrollLeft;

         //获得鼠标的Y轴的坐标

         y = event.clientY + document.body.scrollTop + 20;

         //显示弹出窗体

         Popup.style.display="block";

         //设置窗体的X,Y轴的坐标

         Popup.style.left = x;

         Popup.style.top = y;

     }

//隐藏弹出窗体

function Hide()

     {

         //隐藏窗体

         Popup.style.display="none";

     }

</script>

3.   ToolTip窗体的代码

<div id="Popup" class="transparent" style=" Z-INDEX: 200">

     <table border="0" cellpadding="0" style="FONT-SIZE: x-small">

          <tr>

<td align="middle" 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>

     后台:

private DataTable dt;

private void Page_Load(object sender, System.EventArgs e)

{

     // Put user code to initialize the page here

     if(!IsPostBack)

     {

          SqlConnection cnn = new SqlConnection();

         cnn.ConnectionString = "data source=localhost;initial catalog=Northwind;password=;"

         +"persist security info=True;user id=sa;workstation id=APJ062;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);

         grdCustomer.DataSource = dt;

         grdCustomer.DataBind();

     }

}

private void grdCustomer_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();");

}

}

 

 
 

相关文章推荐

Silverlight Datagrid 行上增加ToolTip

1) 前台代码     xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"     xmlns:x="http://s...

基于1.3.3版本tooltip的datagrid单元格tip实现

在Easyui的1.3.3版本中,作者新增了tooltip组件,尽管样式看起来也不咋的,但是终归也是官方出品,同时其功能也算是比较丰富。之前我写过一篇《扩展:datagrid鼠标经过提示单元格内容》那...

Ajax实现DataGrid/DataList动态ToolTip

1.建立一aspx页面,html代码2.cs代码 using System.Data.SqlClient; using System.IO; protected void...

ToolTip一般用法和高级用法

ToolTip是Win32中一个通用控件,MFC中为其生成了一个类CToolTipCtrl,总的说来其使用方法是较简单的,下面讲一下它的一般用法和高级用法。           一般用法步骤:  ...

Flex 自定义Tooltip 显示<s:datagrid>只显示行长标题的Tooltip

效果图: 这样的效果,之前我使用Flex4.5 Spark主题的时候,可以直接显示出来。原理很简单, ...
  • ttbat
  • ttbat
  • 2012年09月15日 13:34
  • 2111

ASP.NET中DataGrid的高级技巧

  • 2016年06月24日 15:20
  • 26.04MB
  • 下载

jquery tooltip插件

  • 2014年12月16日 21:32
  • 14.81MB
  • 下载

ExtJs是通过Ext.ToolTip和Ext.QuickTips两个组件来实现浮动提示功能的

Ext.QuickTips QuickTips代码示例:只需要加入Ext.QuickTips.init(); 就可以在html页面中使用。html页面 可以通过:   我们可以看到下面的效果...

easyui利用tooltip实现title功能

  • 2014年03月08日 11:16
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DataGrid中的高级ToolTip
举报原因:
原因补充:

(最多只允许输入30个字)