2011-10-10 56 views
1

有沒有一種方法可以在GridView中進行一些自定義數據排序?我的意思是,例如有一個偉大的項目中有幾個項目,每個項目都有一個狀態,如保持,完成,等待反饋,工作等......現在我想根據狀態欄進行排序,但不是按字母順序排列我想按照自定義的方式安排他們,例如「等待」,然後「等待反饋」,然後完成。有沒有可能,如果有的話,請提供一個例子,以便我能理解。ASP.NET中的自定義數據排序GridView

有一個想法出現在我的腦海裏,我應該在表格中創建一個包含狀態和分配數字的數字列,如1,2和3 ...以便我喜歡,然後將該列綁定到網格,保持它不可見並根據它排序,但如果有另一種更簡單的方法,我不必修改數據庫表,我想先嚐試一下。

謝謝。

+0

你的數據格式是什麼?一個DataSet/DataTable或一些東西的集合? –

+0

嗯,我不安靜明白你的意思Doozer,我是相當新的ASP.net,如果你的意思是我用什麼方法將數據綁定到gridview然後我用SqlDataSource在其中我寫我自己的查詢從SQL中獲取數據數據庫表。 – Ahmed

+0

然後,您最有可能的最快捷的解決方案就是您自己提供的解決方案,並通過對狀態進行隱藏排序來處理它。 DataView本身不允許自定義排序。 –

回答

0

我用我自己的想法,實現了一個名爲優先級的隱藏列,並按順序賦值爲數值,例如因爲「Hold」具有最高優先級,所以在等待反饋應該得到2之後它應該得到數值1,等等...而不是綁定該列與gridview,並保持隱藏我在SQL數據源中使用ORDER BY。

0

爲每個可能的狀態(Hold = 1,Awaiting = 2等)分配一個數值,並將該數值用作GridView列的Sort Expression屬性。

希望這會有所幫助!