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

所属分类: 网络编程 / ASP.NET 阅读数: 2036
收藏 0 赞 0 分享

问题提出:

在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(); 
}); 

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

更多精彩内容其他人还在看

asp.net 虚方法、抽象方法、接口疑问

asp.net 虚方法、抽象方法、接口疑问等说明。
收藏 0 赞 0 分享

c#  操作符?? null coalescing operator

?? "null coalescing" operator 是c#新提供的一个操作符,这个操作符提供的功能是判断左侧的操作数是否是null,如果是则返回结果是右侧的操作数;非null则返回左侧的操作数。
收藏 0 赞 0 分享

.net 反序题目的详细解答第1/2页

在各种答案,以及平时面试过程中,这道题总归会有一些非常典型的错误发生。其中给老赵的感觉也非常有意思,不知其中的“思路”是否如老赵猜测那样。
收藏 0 赞 0 分享

implicitly convert type 'int' to 'short'的原因与解决方法

implicitly convert type 'int' to 'short'的原因与解决方法
收藏 0 赞 0 分享

比较完整的 asp.net 学习流程

好多朋友想学习后台编程语言,但请注意的事,学习后台是个循序渐进的过程,不可能一下就到位,其实不只是asp.net其它的编程语言都需要下面的一些知识。
收藏 0 赞 0 分享

官网 Ext direct包中.NET版的问题

下载了官网的 Ext direct 包进行研究,发现服务器端返回结果存在一点小问题。
收藏 0 赞 0 分享

C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

C#操作XML(读XML,写XML,更新,删除节点,与dataset结合等),以下就是操作XML的所有方法,相信可以满足很大一部份的使用了。
收藏 0 赞 0 分享

c# 连接字符串数据库服务器端口号 .net状态服务器端口号

正常的数据库连接字符串配置,这是在MSSQL服务器端口是1433(默认)的情况下。
收藏 0 赞 0 分享

ASP.NET 路径问题的解决方法

相对路径和绝对路径在ASP.NET中可以用~/来解决.
收藏 0 赞 0 分享

asp.net TemplateField模板中的Bind方法和Eval方法

在TemplateField模板中为了能够有限制的或者取出数据库中某列的值时,可以用Bind和Eval方法来实现。以下是Bind方法的格式,Eval的格式也是和Bind一样的。 Bind("列的名称","显示的格式文")
收藏 0 赞 0 分享
查看更多