C#RadGridView排序顺序在ImageColumn上升序-图像排序行为
本文关键字:排序 图像 升序 顺序 ImageColumn C#RadGridView | 更新日期: 2023-09-27 18:24:01
我使用Telerik RadGridView
来展示一些我应该能够排序的东西。我创建了一个带有一个图像列的简短测试示例。如果用户单击标题单元格,它会自动进行升序和降序排序。这就是我想我需要的。我在RadGridView
中填充了三个图像,并将这些图像命名为"a.png"、"b.png"answers"c.png"("a.pnng"是红色项目符号,"b.pnng"为黄色项目符号,而"c.pnng"则是绿色项目符号)。如果我升序排序,它应该像:
- 红色("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;
所以我的问题是:
根据,RadGridView
对图像进行排序是什么?我以为这是图像名称,但正如你所看到的,它不是。还是我添加子弹的方式会导致排序行为出现问题?
为了控制排序,请使用排序描述符
this.radGridView1.MasterTemplate.EnableSorting = true;
SortDescriptor descriptor = new SortDescriptor();
descriptor.PropertyName = "bullet column name";
descriptor.Direction = ListSortDirection.Ascending;
this.radGridView1.MasterTemplate.SortDescriptors.Add(descriptor);
将其放在Sort Command
中,以设置升序和降序