C# 对数据绑定对象内的列表进行排序时出现问题

C# 对数据绑定对象内的列表进行排序时出现问题,c#,data-binding,list,C#,Data Binding,List,我有一个列表ColumnListList,它附带了一个绑定源(BSList)列列表中有一个列表。我有一个绑定源附加到当前的BSList,指向该内部列表 困惑了吗?下面是一些可能有用的代码 public class ColumnList { ... public string Name { get; set;} public List<Column> ListOfColumns { get; set;} } public class Column {

我有一个
列表
ColumnListList,它附带了一个绑定源(BSList)<代码>列列表中有一个
列表
。我有一个绑定源附加到当前的BSList,指向该内部列表

困惑了吗?下面是一些可能有用的代码

public class ColumnList
{
     ...
     public string Name { get; set;}
     public List<Column> ListOfColumns { get; set;}
}

public class Column
{
    ...
    public string HeaderName { get; set; }
}

public class CustContractsSetup
{
    public CustContractsSetup()
    {
        InitializeComponent();
        bsLists = new BindingSource(Properties.Settings.Default.ColumnListLists, null);
        cmbListName.DataSource = bsLists;
        cmbListName.DisplayMember = "Name";
        bsColumns = new BindingSource(bsLists, "ListOfColumns");
        lbCurrent.DataSource = bsColumns;
        lbCurrent.DisplayMember = "HeaderName";
    }
    BindingSource bsLists;
    BindingSource bsColumns;
    ListBox lbCurrent;
}
这是我得到的输出

before:
Conversion Level
Conversion Programmer
Edge Required
Education Required
Target Month
after:
Conversion Level
Conversion Programmer
Edge Required
Education Required
Target Month
如果一切正常,他们应该和转换程序员交换。但正如你所看到的,前后列表是完全相同的


我犯了什么样的错误,使我的列表无法更改订单?

我认为您的基本问题是反向范围的大小,请尝试:

 .Reverse(lbCurrent.SelectedIndex - 1, 2);

我认为您的基本问题是倒车档的大小,请尝试:

 .Reverse(lbCurrent.SelectedIndex - 1, 2);