2013-03-22 63 views
0

我想創建一個網格使用winTree(UltraNode),這是可排序的,我創建這個編程,通過代碼添加列和節點。在顯示網格時,我可以按字母順序列進行排序,但是ID和另一個數字字段未排序。UltraTree列沒有排序的數值

的我在做什麼將是一個簡化:

var tree = new UltraTree(); 

tree.override.ColumnSet.Columns.Add(new UltraTreeNodeColumn{text = "Name"}); 

tree.override.ColumnSet.Columns.Add(new UltraTreeNodeColumn{text = "Id"}); 

var treeNode1 = new UltraTreeNode(); 

treeNode1.Cells["Name"].Value = name1; 

treeNode1.Cells["Id"].Value = Id1; 

tree.Nodes.Add(treeNode1); 

var treeNode2 = new UltraTreeNode(); 

treeNode2.Cells["Name"].Value = name2; 

treeNode2.Cells["Id"].Value = Id2; 

tree.Nodes.Add(treeNode2); 

當查看網格,我可以使用列標題中的字母值進行排序,但是當我點擊ID頭沒有排序。

感謝

+0

Id1和Id2的類型是什麼?如果他們是你的類型,那麼你可能需要在列上指定一個SortComparer:http://help.infragistics.com/NetAdvantage/WinForms/Current/CLR4.0/?page=Infragistics4.Win.UltraWinTree.v12.2~ Infragistics.Win.UltraWinTree.UltraTreeNodeColumn〜SortComparer.html – alhalama 2013-03-25 15:51:26

+0

@alhalama謝謝,但我已經修復,並沒有效果 – evilpilaf 2013-03-26 19:35:55

+0

那麼Id1和Id2是什麼?你使用的是自定義類型,是這些整數變量嗎? – alhalama 2013-03-27 22:38:33

回答

0

原來的網格分組的結果,所以IDS那裏訂購,但在第一分組由他們屬於

元素
0

嘗試將數據類型添加到列

tree.Override.ColumnSet.Columns.Add(new UltraTreeNodeColumn 
            {Text = "Id", DataType = typeof(Int32)}); 
+0

仍然沒有...我只是不明白如何在字母排序工作和數字不在同一控制... – evilpilaf 2013-03-26 20:45:21

+0

如果你有這樣的結果排序1,10,11,2,21, 3這是因爲該列被認爲是字母而不是數字。 – Steve 2013-03-26 20:47:44