GridView增加一個統計行的方法
2007/1/20 17:19:02
CMB項目中要涉及到stock的統計功能,由于是采用了gridview來實現數據的顯示,這里就碰到了一個問題,在需求分析里客戶要求對所有的股票進行一個統計,如下圖:



大家看在最下面的一行,只出現了一個數值,其它列都不存在數值,而這個數的功能主要是對上面這行"持倉股票市值進行一個總的統計",這是如何實現的呢?

首先,我們要把gridview里面的屬性中ShowFooter="True",就是把gridview的頁腳打開,這只是第一步。
第二步:在雙擊屬性面板中的事件,讓他自動生成一個GridView1_RowDataBound的事件,我們最終就是要在里面寫幾行簡單的代碼實現功能了.
第三步:在protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)加入代碼了,由于我這里是做需求分析時,只要在頁面里顯示出效果就可以了,所以我的代碼比較簡單。但是如果你要加上統計功能的話,你就可以在里面自定義一些相關變量,或調用相關的方法就可以了,我這里只是一個框架了.

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
       
        decimal totalstock=0;

        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          // totalstock += Convert.ToDecimal(DataBinder.Eval(e.Row.DataItem, "stockholdmarketprice"));

            // totalstock += DataBinder.Eval(e.Row.DataItem, "stockholdmarketprice");

          //在這里就可以實現總和的計算了

        }
        else if(e.Row.RowType == DataControlRowType.Footer)
        {
            e.Row.Cells[3].Text="持倉總市值";
            e.Row.Cells[3].HorizontalAlign = HorizontalAlign.Right;
            e.Row.Cells[4].Text = "HKD15,000,000";

        }

這里如果不使用這個事件的話,只在設計的aspx頁面中設置<FooterTemplate>來實現的話,就會發現所得到的效果是在每行數據中都會多出一個空白列,如圖:



在vs2005中提供的MSDN對GridView.RowDataBound 事件 的描述是這樣的:

呈現 GridView 控件之前,該控件中的每一行必須綁定到數據源中的一條記錄。將某個數據行(用 GridViewRow 對象表示)綁定到 GridView 控件中的數據以后,將引發 RowDataBound 事件。這使您可以提供一個這樣的事件處理方法,即每次發生此事件時都執行一個自定義例程(如修改綁定到該行的數據的值)。

它也提供了一個example出來


      程序代碼:  <%@ Page language="C#" %>

<script runat="server">

  void CustomersGridView_RowDataBound(Object sender, GridViewRowEventArgs e)
  ...{
       
    if(e.Row.RowType == DataControlRowType.DataRow)
    ...{
      // Display the company name in italics.
      e.Row.Cells[1].Text = "<i>" + e.Row.Cells[1].Text + "</i>";
       
    }
   
  }

</script>

<html>
  <body>
    <form runat="server">
       
      <h3>GridView RowDataBound Example</h3>

      <asp:gridview id="CustomersGridView"
        datasourceid="CustomersSqlDataSource"
        autogeneratecolumns="true"
        allowpaging="true"
        onrowdatabound="CustomersGridView_RowDataBound"
        runat="server">
      </asp:gridview>
           
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET    -->
      <!-- expression to retriev

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 欧美人与zoxxxx另类| 99久久人妻精品免费一区| 最好看的免费观看视频| 同学的嫩苞13p| 九九综合VA免费看| 欧美黑人粗大xxxxbbbb| 再深点灬舒服灬太大了添动视频 | 亚洲综合网美国十次| 美女被免费网站在线视频免费| 在线观看一区二区精品视频| 久久成人国产精品免费软件| 欧美日韩国产在线人成| 人妻少妇精品视频一区二区三区| 2021最新热播欧美极品| 天天视频一区二区三区| 中国国产成人精品久久| 日本道v高清免费| 亚洲s色大片在线观看| 欧美最猛性xxxxx69交| 亚洲黄色免费电影| 秋葵视频在线观看在线下载| 四虎免费久久影院| 足本玉蒲团在线观看| 国产成人午夜高潮毛片| 三级黄色毛片视频| 成人艳情一二三区| 久久久综合九色合综国产精品 | 国产精品第九页| 99久久综合狠狠综合久久| 妞干网免费视频在线观看| 中文japanese在线播放| 日产乱码卡一卡2卡三卡四多p | 韩国无码av片| 国产成人综合亚洲AV第一页| jzzjzz免费观看大片免费| 成人免费一区二区三区在线观看| 亚洲乳大丰满中文字幕| 欧美高清性色生活片免费观看| 国产亚洲人成网站在线观看| 黑色毛衣在线播放| 国产线视频精品免费观看视频|