zoukankan      html  css  js  c++  java
  • DataGrid中的高级ToolTip

    效果如下图所示:

     

    实现原理: 
         DataGrid中的每一行,绑定onmouseoveronmousemoveonmouseout事件,使的鼠标移动到行内时,自动显示一个<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();");
    }

    }

  • 相关阅读:
    git remote: Support for password authentication was removed on August 13, 2021
    win10 安装vue 详解包括node.js、npm、webpack
    solr window 安装与启动
    solr 创建 core
    idea 创建 springboot 模块报错解决
    c# 设计模式篇
    javascript(DHTML)代码和客户端应用程序代码之间实现双向通信.
    委托,匿名方法,Lambda 表达式 的关系
    使用泛型实现单例模式提供者
    asp.net 文件编码问题
  • 原文地址:https://www.cnblogs.com/ghx88/p/349381.html
Copyright © 2011-2022 走看看