Winforms C#数据索引列表框-排序问题

Winforms C#数据索引列表框-排序问题,winforms,data-binding,sorting,listbox,Winforms,Data Binding,Sorting,Listbox,我有这些列表框。。它们都是数据绑定到同一个表中,并且都是表类型的,每一行都对应于其在数据库中的实际值。当我在任何一个列表框上切换选择(SelectedIndex change)时,我会更改所有其他列表框的SelectedIndex 现在我不能简单地为任何列表框选择“Sort=true”,因为这样做列表框中的值将与其他列表框中的实际值不对应。我想提供一个选项,根据列表框之一进行排序,同时保持对应关系有效怎么做。有什么建议吗 我不想在列表框上运行任何排序算法,选择每个条目(项)并对其进行排序,然后

我有这些列表框。。它们都是数据绑定到同一个表中,并且都是表类型的,每一行都对应于其在数据库中的实际值。当我在任何一个列表框上切换选择(SelectedIndex change)时,我会更改所有其他列表框的SelectedIndex

现在我不能简单地为任何列表框选择“Sort=true”,因为这样做列表框中的值将与其他列表框中的实际值不对应。我想提供一个选项,根据列表框之一进行排序,同时保持对应关系有效怎么做。有什么建议吗


我不想在列表框上运行任何排序算法,选择每个条目()并对其进行排序,然后相应地更改列表框的其余部分。

如果您需要完全按照所列操作,我建议在实际绑定到列表框之前添加一层逻辑

i、 e:

不要直接将数据绑定到列表框,而是创建一个数据行列表(或您自己的自定义对象)。当您需要对列表进行排序时,针对您需要的任何属性/列调用列表上的.sort()方法,然后清除列表框,根据列表重新填充它们(可能会为每个框一次添加一个列表项),然后更正列表框的SelectedIndex


通过这种方式,您永远不会丢失列表框行之间的关联。

您应该真正使用
列表视图,而不是使用所有这些列表框。这将使您的生活变得简单得多,因为它支持您所请求的功能,而无需担心保持同步。

是的,wud很容易,但ListBox恰好是这方面的“文档化规范”。我可能会离开排序,但我不能离开列表框:),您也不能质疑该规范,即使它没有什么意义?