![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 Mark Shu 版主 ![]()
![]() ![]() ![]() ![]() |
當GridView控制項繫結資料後, 若某個欄位需要正反向排序,是個很常見的功能 ,但是,若來源資料經過StoredProcedure組合過,所以在所有的資料最後一列會有個合計的資料列,當bind資料後 ,合計欄位會在最後一列, 若有分頁, 合計欄位會在最後一頁的最後一筆, 但若是欄位可以正反向排序, 則當反向排序時,變成合計欄位出現在第一筆, 就會出現問題 因此要做的是: 當排序事件時, 要將合計那一列抓出來,然後將剩下的資料排序, 最後將排序後的資料加在最後一列,如此無論正反向排序後,合計欄位永遠出現在最後一筆,而不會出現在第一筆, 主要在於Sorting事件中,要去加工... protected void gv_Sorting(object sender, GridViewSortEventArgs e) dt.Rows.RemoveAt(dt.Rows.Count - 1); DataTable dt2 = dv.ToTable(); DataRow dwNew = dt2.NewRow(); dt2.Rows.InsertAt(dwNew, dt.Rows.Count); Session["dt_gv3"] = dt2;
private string GetSortDirection2(string column) if (sortExpression != null) return sortDirection; 而分頁事件中的資料來源,必須從Session["dt_gv3"] 中去取得
本篇文章發表於2013-09-04 21:56
== 簽名檔 ==
猛虎別在當道臥,困龍也有上天時。 |