.net 如何对组合框中的数据进行排序

.net 如何对组合框中的数据进行排序,.net,vb.net,.net,Vb.net,我的combobox 1中有数据,我想知道是否可以按字母顺序对combobox中的数据进行排序 我花了很长时间试图通过搜索论坛来找到答案,但什么也找不到,我非常感谢你的帮助 With ComboBox2 .DisplayMember = "Name" .ValueMember = "FullName" .DataSource = New IO.DirectoryInfo("Path").GetFiles() _ .Select(Function(fi) New With {.Na

我的combobox 1中有数据,我想知道是否可以按字母顺序对combobox中的数据进行排序

我花了很长时间试图通过搜索论坛来找到答案,但什么也找不到,我非常感谢你的帮助

With ComboBox2
  .DisplayMember = "Name"
  .ValueMember = "FullName"
  .DataSource = New IO.DirectoryInfo("Path").GetFiles() _
  .Select(Function(fi) New With {.Name = _
          IO.Path.GetFileNameWithoutExtension(fi.FullName), fi.FullName}) _
  .ToArray()
End With

.Sorted
属性设置为
TRUE

首先对数据进行排序,然后将其绑定到组合框

With ComboBox1
  .DisplayMember = "Name"
  .ValueMember = "FullName"
  .DataSource = New IO.DirectoryInfo("C:\asdf").GetFiles() _
  .Select(Function(fi) New With {.Name = _
          IO.Path.GetFileNameWithoutExtension(fi.FullName), fi.FullName}) _
  .OrderBy(Function(fi) CType(fi.Name, Integer)) _
  .ToArray()
End With

能否在设置数据源的位置添加一个.orderby LINQ谓词

.DataSource = unsorted.Select( ... ).OrderBy(Function(x) x.name).ToArray()
为组合框选择属性“data source”,并单击三个点,将显示一个查询,然后按升序对字段进行排序全部保存并重新启动数据库, 祝你好运


Waleed

我试过了,但它无法工作,因为我的组合框是绑定的,所以它会显示如下数据:首先对数据源进行排序。对查询进行排序。当使用数据绑定值时,该属性将不起作用。原始问题未表明控件已绑定。您的数据源是什么?请参阅此信息。我加载组合框的代码如下所示:与ComboBox2.DisplayMember=“Name”。ValueMember=“FullName”.DataSource=新IO.DirectoryInfo(“路径”).GetFiles()。选择(带有{.Name=IO.Path.GetFileNameWithoutExtension(fi.FullName),fi.FullName}的函数(fi)New)。ToArray()以de结尾我刚刚编辑了这个问题,很抱歉,我是这个网站的新手,所以不知道如何在我的代码周围添加标记。@user1413746我在linq查询中添加了一个order by。试试看。不,仍然没有排序,字段应该像1,2,3,40,50,60,112,200,300那样排序,它们显示的像1,2,200,3,300,40,50,60@user1413746啊哈!它们被排序为字符串,我更新了代码,在排序之前将它们转换为整数,试试看。-1。在设计时为运行时设置的
IO.DirectoryInfo(“Path”).GetFiles显示的查询?你确定吗?