2011-09-06 87 views
2

基本上我有一個DataGrid,顯示數字和一些數字需要表示爲圖像。訂購datagrid圖像單元格,如數字單元格?可能?

我的DataGrid使用DataTable作爲它的源代碼。我在DataTable中有(int)單元格和(圖像)單元格。當我單擊DataGrid中的一個int單元格的標題時,它會按順序正確排序,但圖像單元顯然是隨機排列的。

是否可以給細胞兩個「值」?一個保存實際值,所以它可以被排序,另一個包含顯示內容(圖像,字符串單元格)?如果這是有道理的。

有沒有另一種方式如何實現我想要做的?謝謝!

編輯:此外,當我訂購普通的int細胞,如果一些細胞是空的,他們得到的順序第一。如:

(Empty) 
(Empty) 
(1) 
(2) 
(4) 
(6) 
(7) 

我該如何讓它們最後出現?

+0

您是否在網格視圖中嘗試過使用[TemplateFields](http://www.asp.net/data-access/tutorials/using-templatefields-in-the-gridview-control-vb)? –

回答

0

我假設這是一個WinForms Datagrid,但你應該也可以找到一個ASP.Net的類似答案。

查看網格的custom sorting。具體來說,您可以處理SortCompare事件,您應該擁有必要的信息來攔截基於圖像字段的排序,然後使用int字段進行排序(可能使用提供的Column對象的Column屬性來檢查哪個列是與RowIndex1RowIndex2以及原始數據源一起排序,以獲得您需要的備用列值)。

關於你的空排序問題,你應該能夠使用自定義排序來解決這個問題。