2014-12-13 62 views
0

我用這個代碼和列值sGridView的頁腳總使用LINQ

int total = 0; 
protected void gvEmp_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
if(e.Row.RowType==DataControlRowType.DataRow) 
{ 
total += Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "Amount")); 
} 
if(e.Row.RowType==DataControlRowType.Footer) 
{ 
Label lblamount = (Label)e.Row.FindControl("lblTotal"); 
lblamount.Text = total.ToString(); 
} 
} 

I'have更多的數據在我的數據庫。所以我已經決定使用LINQ查詢,低於

GridView1.Columns[8].FooterText = (from row in dt.AsEnumerable() 
            select row.Field<int>("amount")).Sum().ToString(); 

但我有尋呼在我的網格,頁面大小爲50,所以我要總結第1個共首先如果我點擊第二頁,然後我必須顯示第二頁總數。如何實現這一目標?

+0

http://forums.asp.net/t/986566.aspx檢查的最後答覆。有了這個你應該弄明白。 – MajkeloDev 2014-12-13 11:45:21

回答

2

試試這個:

GridView1.Columns[8].FooterText = (from row in dt.AsEnumerable() 
            select row.Field<int>("amount")).Skip(GridView1.PageIndex * GridView1.PageSize).Take(GridView1.PageSize).Sum().ToString(); 
+0

非常感謝你:) – 2014-12-13 12:00:43