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

问题提出:

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

 

解决方案分析:

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

 

详细实现步骤:

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

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

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

 

[csharp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <link href="../Js/popTips/tip-yellow/tip-yellow.css" rel="stylesheet" />   
  2. <script src="../Js/jquery-1.7.2.min.js"></script>  
  3. <script src="../Js/popTips/jquery.poshytip.min.js"></script>  

 

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

[csharp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. <asp:GridView ID="GridView1" OnRowDataBound="GridView1_RowDataBound" AllowPaging="True"  
  2.                     runat="server" AutoGenerateColumns="False" OnPageIndexChanging="GridView1_PageIndexChanging"  
  3.                     CellPadding="4" CssClass="grid1" EmptyDataText="无数显示" PageSize="10"  
  4.                     Width="99%" HeaderStyle-Wrap="True">  
  5.                     <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />  
  6.          <Columns>  
  7.                  ...  
  8.                 <asp:TemplateField HeaderText="折标煤<br>(千克标准煤)" ItemStyle-Width="100px" HeaderStyle-VerticalAlign="Middle" HeaderStyle-HorizontalAlign="Center" ItemStyle-HorizontalAlign="Center">  
  9.                        <ItemTemplate>  
  10.                               <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>  
  11.                         </ItemTemplate>  
  12.                  </asp:TemplateField>  
  13.                  ...  
  14.          </Columns>  
  15.  </asp:GridView>  

 

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

[csharp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. #region 折标煤计算公式显示 2015-09-06  
  2.         /// <summary>  
  3.         /// 获取折标煤的计算公式  
  4.         /// </summary>  
  5.         /// <param name="dian"></param>  
  6.         /// <param name="reli"></param>  
  7.         /// <param name="yuanmei"></param>  
  8.         /// <param name="tianranqi"></param>  
  9.         /// <param name="qiyou"></param>  
  10.         /// <param name="chaiyou"></param>  
  11.         /// <param name="zsny"></param>  
  12.         /// <returns></returns>  
  13.         public string showZBMGS(string dian, string reli, string yuanmei, string tianranqi, string qiyou, string chaiyou, string zsny)  
  14.         {  
  15.             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;  
  16.             ZBMGS = "折标煤 = 电 * 0.1229 + 热力 * 0.0341 + 原煤 * 0.7143 + 天然气 * 1.2143 + 汽油 * 1.4714 + 柴油 * 1.4571 + 再生能源 * 1</br>=";  
  17.             ZBMGS += dian + "* 0.1229+" + reli + " * 0.0341+" + yuanmei + " * 0.7143+" + tianranqi + "* 1.2143+" + qiyou + " * 1.4714+" + chaiyou + " * 1.4571+" + zsny + " * 1</br>=";  
  18.             ZBMGS += Math.Round(zbm, 2);  
  19.             return ZBMGS;  
  20.         }  
  21. #endregion  

 

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

[csharp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. $(function () {  
  2.       //为控件增加信息提示 2015-09-06  
  3.       $cb = $('#<%=this.GridView1.ClientID%>').find('span[id$="zbm"]');  
  4.       $($cb).poshytip();  
  5. });  

 

  内容来自:  http://blog.csdn.net/zdw_wym/article/details/48247501

posted @ 2017-05-03 08:36  net开发人员  阅读(416)  评论(0编辑  收藏  举报