Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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#RadGridView排序器在ImageColumn上递增-图像排序行为_C#_Sorting_Telerik_Radgridview - Fatal编程技术网

C#RadGridView排序器在ImageColumn上递增-图像排序行为

C#RadGridView排序器在ImageColumn上递增-图像排序行为,c#,sorting,telerik,radgridview,C#,Sorting,Telerik,Radgridview,我正在使用Telerik RadGridView展示一些我应该能够排序的东西。我用一个图像列创建了一个简短的测试示例。如果用户单击标题单元格,它会自动按升序和降序排序。这就是我想我需要的。我在RadGridView中填充了三幅图像,并将这些图像命名为“a.png”、“b.png”和“c.png”(“a.png”是红色的项目符号,“b.png”是黄色的项目符号,“c.png”是绿色的项目符号)。如果我按升序排序,应该是这样的: 红色(“a.png”) 黄色(“b.png”) 绿色(“c.png”

我正在使用
Telerik RadGridView
展示一些我应该能够排序的东西。我用一个图像列创建了一个简短的测试示例。如果用户单击标题单元格,它会自动按升序和降序排序。这就是我想我需要的。我在
RadGridView
中填充了三幅图像,并将这些图像命名为“a.png”、“b.png”和“c.png”(“a.png”是红色的项目符号,“b.png”是黄色的项目符号,“c.png”是绿色的项目符号)。如果我按升序排序,应该是这样的:

  • 红色(“a.png”)
  • 黄色(“b.png”)
  • 绿色(“c.png”)
但事实是:

  • 红色(“a.png”)
  • 绿色(“c.png”)
  • 黄色(“b.png”)
那对我来说毫无意义。您可以看到我在其中添加项目符号的代码:

foreach (string item in list)
{
    if (item.Length < 5)
    {
        bullet = Properties.Resources.a; // red
    }

    else if (item.Length > 5)
    {
        bullet = Properties.Resources.b; // yellow
    }

    else if (item.Length == 5)
    {
        bullet = Properties.Resources.c; // green
    }

    radGridView1.Rows.Add(bullet);
}

radGridView1.Columns["imgCol"].SortOrder = RadSortOrder.Ascending;
foreach(列表中的字符串项)
{
如果(项目长度<5)
{
bullet=Properties.Resources.a;//红色
}
否则,如果(项目长度>5)
{
bullet=Properties.Resources.b;//黄色
}
否则如果(item.Length==5)
{
bullet=Properties.Resources.c;//绿色
}
radGridView1.Rows.Add(项目符号);
}
radGridView1.Columns[“imgCol”].SortOrder=RadSortOrder.Ascending;
所以我的问题是:


根据什么
RadGridView
对图像进行排序?我以为它是图像名称,但正如你所看到的,它不是。或者我添加项目符号的方式是否会导致排序行为出现问题?

为了控制排序,请使用


将其放入
Sort命令
以设置升序和降序

谢谢,但是使用
SortDescriptor
类也不能正确排序。它与我以前使用的代码具有相同的效果。“排序命令”是什么意思?你是说一个事件?没有名为“Sort”或类似的事件,或者我就是找不到它。@Tyler您是将描述符放在列上,还是放在
主模板上?
?我的操作与您完全相同。依此类推
MasterTemplate
this.radGridView1.MasterTemplate.EnableSorting = true;

SortDescriptor descriptor = new SortDescriptor();
descriptor.PropertyName = "bullet column name";
descriptor.Direction = ListSortDirection.Ascending;
this.radGridView1.MasterTemplate.SortDescriptors.Add(descriptor);