asp.net GridView列資料滑鼠移入顯示提示資訊

暖楓無敵發表於2015-09-06

問題提出:

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

===========================================================================

如果覺得對您有幫助,微信掃一掃支援一下:



相關文章