我有一个Telerik组合框:
<telerik:RadComboBox Grid.Row="0" Grid.Column="1" VerticalAlignment="Center" IsReadOnly="True" SelectedIndex="0" x:Name="CbBoxUltra" SelectionChanged="CbBoxUltra_SelectionChanged" MinWidth="100"/>
我正在做一个“为每个”循环将项目存储到其中:
foreach (var ultra in line2)
{
...
if (deviceType != null && !String.IsNullOrEmpty(vehicleName) && vehicleName != "null" && deviceType == "ultra")
{
_listUltra.Add(new UltraModel { Id = Convert.ToInt32(idUltra), Name = nameUltra, NameVehicle = vehicleName });
CbBoxUltra.Items.Add(vehicleName);
}
}
我想对ComboBox中的项目进行排序(例如,从a到z)。
所以我试图做文档中的内容:Telerik's sorting
但是在.xaml中,我无法访问属性“ Sort”,例如像对“ VerticalAlignment”那样,并且我也无法访问.xaml.cs中的属性:
CbBoxUltra.Items.Sort(); //It doesn't match anything here
我可以访问.SortDescription,但这不是我要搜索的内容...
参考方案
根据我从Telerik的文档中收集的信息,Sort
属性仅适用于ASP.NET RadComboBox Control(服务器端),而不适用于WPF RadComboBox Control。
鉴于此,有两种最常见的处理方式。
I.利用现有的WPF实施
RadComboBox.Items
属性实际上是从ItemsControl
继承的。它的类型为ItemCollection
,实现ICollectionView
,并支持通过SortDescriptions
集合进行排序。因此,如果您想按属性值排序,则只需将适当的项目添加到该集合中:
CbBoxUltra.Items.SortDescriptions.Add(new SortDescription
{
PropertyName = "XXX",
Direction = ListSortDirection.Descending
});
CbBoxUltra.Items.SortDescriptions.Add(new SortDescription
{
PropertyName = "YYY",
Direction = ListSortDirection.Ascending
});
此代码将导致这些项首先按XXX
属性按降序排序,然后按YYY
属性按升序排序。但是,如果排序逻辑不仅仅需要引用项目属性值,还可以添加一个排序描述,而忽略PropertyName
:
CbBoxUltra.Items.SortDescriptions.Add(new SortDescription
{
Direction = ListSortDirection.Descending
});
这将导致排序机制使用项目类型的默认比较器进行排序。为了应用自定义逻辑,请确保您的项目实现IComparable<T>接口。用于string
的Ddefault比较器按词法顺序排序。
二。在添加之前对项目进行预排序
如果您仅添加一次项目,则此方法会更容易一些。这是代码摘录:
foreach (var ultra in line2.OrderByDescending(...))
{
...
}
请注意,如果您要多次添加项目(例如,在用户输入时),这将变得更加棘手,因为您必须手动在适当的索引处插入项目。
当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…
改造正在返回一个空的响应主体 - java我正在尝试使用Retrofit和Gson解析一些JSON。但是,我得到的响应机构是空的。当我尝试从对象中打印信息时,出现NullPointerException。我确保URL正确,并且我也确保POJO也正确。我正在使用jsonschema2pojo来帮助创建POJO类。这是我要解析的JSON{ "?xml": { "@versi…
每个文件合并后添加换行 - python我有很多类似以下内容的JSON文件:例如。1.json{"name": "one", "description": "testDescription...", "comment": ""} test.json{"name"…
Json到php,json_decode返回NULL - php我正在用PHP进行JSON解析器的一些API,用于存储有关遗产的信息。我在解析时遇到问题,因为它返回的是NULL值而不是数组或对象。简单的JSON代码可以很好地解析,但是可以这样:{"success":true,"totalCount":1,"data":[{"id":99694…
将ajax的值存储到javascript变量中 - javascript我有一个php文件,其中我从服务器获取数据。该php文件的输出是一个包含json格式数据的变量。PHP文件:<?php $dbHostName = "localhost"; $dbUserName = "venseld"; $dbUserPass = "wecuuu"; $dbName = &…