asp.net中GridView数据鼠标移入显示提示信息

问题提出:

在asp.net开发中,如果有这样的一个需求,如果在列表控件,如GridView中的某列中显示的是一个计算公式得出的值,那么需求来了,鼠标移入该数字,显示该数字的计算公式和过程,如何做?

解决方案分析:

常规可以使用控件的title属性来显示提示信息,但是显示信息的样式不美观。接下来我们可以使用这样的一个解决方案,其显示效果如下图所示:

详细实现步骤:
1、下载弹出提示框相关js文件包,下载地址:http://download.csdn.net/detail/taomanman/9083213

2、将下载的文件解压,讲整个popTips文件夹放到你的项目目录下去,比如放到js文件夹下。

3、在你需要的页面中引入相关文件,最主要的是以下几个文件:

<link href="../Js/popTips/tip-yellow/tip-yellow.css" rel="stylesheet" />
<script src="../Js/jquery-1.7.2.min.js"></script>
<script src="../Js/popTips/jquery.poshytip.min.js"></script> 

4、页面中使用GridView的话,我们可以使用模板列,如下所示:

<asp:GridView ID="GridView1" OnRowDataBound="GridView1_RowDataBound" AllowPaging="True"
     runat="server" AutoGenerateColumns="False" OnPageIndexChanging="GridView1_PageIndexChanging"
     CellPadding="4" CssClass="grid1" EmptyDataText="无数显示" PageSize="10"
     Width="99%" HeaderStyle-Wrap="True">
     <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
   <Columns>
     ...
    <asp:TemplateField HeaderText="折标煤<br>(千克标准煤)" ItemStyle-Width="100px" HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">
      <ItemTemplate>
        <span id="zbm" style="color:blue; cursor:pointer;" runat="server" title='<%#showZBMGS(Eval("DIAN").ToString(),Eval("RELI").ToString(),Eval("YUANMEI").ToString(),Eval("TIANRQ").ToString(),Eval("QIYOU").ToString(),Eval("CHAIYOU").ToString(),Eval("ZSNY").ToString()) %>'><%# Eval("ZBM") %></span>
      </ItemTemplate>
     </asp:TemplateField>
     ...
   </Columns>
 </asp:GridView> 

5、后台cs代码中增加一个方法

#region 折标煤计算公式显示 2015-09-06
  /// <summary>
  /// 获取折标煤的计算公式
  /// </summary>
  /// <param name="dian"></param>
  /// <param name="reli"></param>
  /// <param name="yuanmei"></param>
  /// <param name="tianranqi"></param>
  /// <param name="qiyou"></param>
  /// <param name="chaiyou"></param>
  /// <param name="zsny"></param>
  /// <returns></returns>
  public string showZBMGS(string dian, string reli, string yuanmei, string tianranqi, string qiyou, string chaiyou, string zsny)
  {
   double zbm = ((double.Parse(dian) * 0.1229) + (double.Parse(reli) * 0.0341) + (double.Parse(yuanmei) * 0.7143) + (double.Parse(tianranqi) * 1.2143) + (double.Parse(qiyou) * 1.4714) + (double.Parse(chaiyou) * 1.4571) + (double.Parse(zsny) * 1)) * 10;
   ZBMGS = "折标煤 = 电 * 0.1229 + 热力 * 0.0341 + 原煤 * 0.7143 + 天然气 * 1.2143 + 汽油 * 1.4714 + 柴油 * 1.4571 + 再生能源 * 1</br>=";
   ZBMGS += dian + "* 0.1229+" + reli + " * 0.0341+" + yuanmei + " * 0.7143+" + tianranqi + "* 1.2143+" + qiyou + " * 1.4714+" + chaiyou + " * 1.4571+" + zsny + " * 1</br>=";
   ZBMGS += Math.Round(zbm, 2);
   return ZBMGS;
  }
#endregion 

6、接下来在页面加载时,应用此信息提示,如下代码所示:

$(function () {
  //为控件增加信息提示 2015-09-06
  $cb = $('#<%=this.GridView1.ClientID%>').find('span[id$="zbm"]');
  $($cb).poshytip();
}); 

以上就是本文的全部内容,希望对大家有所帮助。

(0)

相关推荐

  • 使用ajax局部刷新gridview进行数据绑定示例

    具体代码如下: 复制代码 代码如下: <% @ Page Language = " C# " %> <! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" > < script runat ="server" &

  • asp.net Gridview数据列中实现鼠标悬浮变色

    功能描述: 在gridview中,鼠标在这个控件的数据列表中移动时,该列的背景随鼠标的移动而改变背景颜色. 功能实现: 在gridview中新增一个事件RowDataBound,代码如下: 复制代码 代码如下: protected void gvwNews_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.Attributes

  • DevExpress实现GridView当无数据行时提示消息

    本文实例展示了DevExpress实现GridView当无数据行时提示消息的方法,具体步骤如下: 主要功能代码部分如下: /// <summary> /// 设置当没有数据行的提示信息『CustomDrawEmptyForeground』 /// </summary> /// <param name="gridView">GridView</param> /// <param name="e">Custom

  • ASP.NET GridView控件在列上格式化时间及DataFormatString使用

    症状:在GridView绑定日期格式的时候,数据库中的日期为2008-07-04,而GridView显示的是2007-07-04 000000.. 解决办法:想把这后面这多余的零去掉的话在绑定时间的那一列源码后面加上一句话就可以了,如下红色的部分 复制代码 代码如下: <asp:BoundField DataField="BeginDate" HeaderText="开始时间" DataFormatString="{0:d}" htmlen

  • ASP.NET数据绑定之GridView控件

    GridView 是 DataGrid的后继控件,在.net framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不挡.  作用:其功能是在web页面中显示数据源中的数据.GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行.     在此GirdView的详细属性和事件我不再阐述.下面我只是简单介绍一下GirdVi

  • asp.net读取excel中的数据并绑定在gridview

    前台label,DropDownList,gridview控件 aspx.cs核心代码: 复制代码 代码如下: using System.Data.OleDb;//需要引入命名 public void Excel_Click(object sender, EventArgs e) { if (this.AttachmentFile.Value == "" && this.Label1.Text == "" && DropDownLis

  • ASP.NET数据绑定GridView控件使用技巧

    不得不说GridView控件的功能确实很强大,一个简简单单的控件就可以把数据管理的很美.在这两天做的任务中碰到的一些GridView控件中遇到的问题进行总结: ①:在GridView控件中随意显示数据库中的信息: GridView控件中有一个AutoGenerateColumns属性,它的作用就是控制GridView控件是否在运行的时候自动生成相关联的列,一般情况下把这个属性设置成为false.因为我们需要的是一个DIY的GridView控件.然后点击右上角的箭头,选择编辑列添加一个BoundF

  • Gridview利用DataFormatString属性设置数据格式的方法

    本文实例讲述了Gridview利用DataFormatString属性设置数据格式的方法.分享给大家供大家参考,具体如下: 首先把Gridview的AutoGenerateColumns属性设为False(默认是False),DataField选择相应的字段,特别需要注意的是要把需要设置的字段的HtmlEncode属性设置为False,否则所设置的格式将无法显示,然后就可以设置每个字段的 DataFormatString属性来输出不同的格式了. DataFormatString 属性语法如下:

  • js获取GridView中行数据的两种方法 分享

    第一种方法: 复制代码 代码如下: function submitData() {    var tb = document.getElementById(IDArray[0]);   //获取服务器控件GridView的ID    if (tb)     {    var rows = tb.rows;    for (var i = 1; i < rows.length; i++) {        var id = rows[i].cells[1].innerText;        va

  • 利用jQuery及AJAX技术定时更新GridView的某一列数据

    看到一个问题:定时更新GridView的某一列中的状态文本.马上就有了思路:GridView最后会生成表格,所以我们在页面中通过Ajax更新表格的列,从而达到ajax更新GridView的效果. 具体实现: 准备一个xml文件,用于存储要更新的数据,在页面中启动一个定时器,每隔5秒钟调用一个函数,函数里边通过$.ajax获取xml中的数据,解析xml,遍历表格行,匹配要更新的数据,更新. getuserlist.xml 定义一个UserList的根节点,下边每个UserItem对应一条数据,UI

  • asp.net DataFormatString格式化GridView

    在.net中,查了半天msdn,发现使用DataFormatString是可以实现这个功能的,但是怎么设置就不起作用,最后发现,由于2.0出于安全性的考虑,还要同时设置HtmlEncode = false,才能够使DataFormatString生效. 留个记号,下次用的时候,就不用浪费N多时间了. 还有,DataFormatString = "{0:F}",是默认格式,显示两位小数,如果需要显示的小数位数为其他值,DataFormatString = "{0:Fn}&quo

  • C#与SQL连接:GridView控件对数据库的操作

    GridView和DataGrid的异同 GridView 是 DataGrid的后继控件,在.net framework 2 中,虽然还存在DataGrid,但是GridView已经走上了历史的前台,取代DataGrid的趋势已是势不可挡.GridView和DataGrid功能相似,都是在web页面中显示数据源中的数据,将数据源中的一行数据,也就是一条记录,显示为在web页面上输出表格中的一行. GridView相对于DataGrid来说,具有如下优势,功能上更加丰富,因为提供了智能标记面板(

  • c#利用Excel直接读取数据到DataGridView

    在winform里拖入一个datagridview控件,跟一个openfiledialog控件 复制代码 代码如下: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using Microsoft.Office.Core;using Excel=Mi

随机推荐