Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UltraTree列未对数值进行排序_C#_Infragistics_Ultratree - Fatal编程技术网

C# UltraTree列未对数值进行排序

C# UltraTree列未对数值进行排序,c#,infragistics,ultratree,C#,Infragistics,Ultratree,我试图使用可排序的winTree(UltraNode)创建一个网格,我通过编程创建它,通过代码添加列和节点。显示网格时,我可以按字母列排序,但Id和另一个数字字段没有排序 我正在做的事情的简化是: var tree = new UltraTree(); tree.override.ColumnSet.Columns.Add(new UltraTreeNodeColumn{text = "Name"}); tree.override.ColumnSet.Columns.Add(new Ultr

我试图使用可排序的winTree(UltraNode)创建一个网格,我通过编程创建它,通过代码添加列和节点。显示网格时,我可以按字母列排序,但Id和另一个数字字段没有排序

我正在做的事情的简化是:

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标题时没有排序


谢谢

尝试将数据类型添加到该列

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

原来网格是对结果进行分组的,所以ID按顺序排列,但首先按它们所属的元素进行分组

Id1和Id2的类型是什么?如果它们是您的类型,那么您可能需要在列中指定一个排序比较程序:@alhalama谢谢,但我已经证实了这一点,并且没有任何影响。那么Id1和Id2是什么?您使用的是自定义类型吗?这些是整数变量吗?还是没有。。。我只是不明白字母排序是如何工作的,而数字排序是如何工作的,在同一个控件中…如果你有这样一个结果排序1,10,11,2,21,3,这是因为列被认为是字母排序,而不是数字排序。