Cenario:
我有一個GridView綁定到一個DataSource,每列都是可排序的。
我的主要查詢是這樣的:ASP.Net Custom Paging(w/C#)
select a, b, c, d, e, f from table order by somedate desc
我加了過濾器的形式,我可以定義值的字段中的每一個,並獲得其中的形式的結果。因此,我不得不做一個自定義排序,以便當我按字段排序時,我排序篩選的查詢,而不是主要的排序。 現在我要做的自定義分頁,出於同樣的原因,但我不明白它的理念:我要保證我可以:
- 過濾結果
- 排序列
- 當我點擊第2頁上,我得到的過濾和排序結果
我不知道我必須做兩頁,這樣我就可以綁定這個GV。我的排序方法,即工作得很好看起來像:
string condition = GetConditions(); //gets a string like " where a>1 and b>2" depending on the filter the user defines
string query = "select a, b, c, d, e, f from table ";
string direction = (e.SortDirection == SortDirection.Ascending)? "asc": "desc";
string order = " order by " + e.SortExpression + " " + direction;
UtilizadoresDataSource.SelectCommand = query + condition + order;
我從來沒有做過自定義分頁,我想:
GetConditions()//沒有問題,這裏
我怎麼能找到如何GridView被排序(通過什麼字段和排序順序)?
非常感謝你
好吧,我曾考慮過這一點,但這與我在GridView中分頁時如何處理數據的先入爲主的觀念相矛盾。我認爲查詢是在沒有頁面限制的情況下對SQL進行的,並存儲在ASP端,當你分頁時,它只是瀏覽存儲的數據而不是再次查詢數據庫。 好吧,thanx無論如何:) – 2010-12-23 14:01:53