2013-02-07 296 views
2

我从DataGridView继承的自定义控件,我希望能够把刚才复制的cs文件,并在任何项目中删除它。还有的是我不能管理搬出Main.cs一个代码位,并进入DataGridView.cs虽然:DataGridView控件必须绑定到IBindingList的对象进行排序

private void Main_Load(object sender, EventArgs e) 
{ 
    dgv.Sort(dgv.Columns[0], ListSortDirection.Ascending); 
    dgv.Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Ascending; 
} 

这是我已经试过:

class MyDataGridView : DataGridView 
{ 
    protected override void InitLayout() 
    { 
     base.InitLayout(); 
     Sort(Columns[0], ListSortDirection.Ascending); 
     Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Ascending; 
    } 

    // Lots of methods snipped 
} 

该方案立即引发InvalidOperationExceptionSort()

DataGridView控件必须绑定到一个IBindingList的对象进行排序。

如何将此代码移动到DataGridView.cs

回答

1

这是我做的:

class MyDataGridView : DataGridView 
{ 
    public MyDataGridView() 
    { 
     base.DataBindingComplete += Sort; 
    } 

    public void Sort(object sender, EventArgs e) 
    { 
     Sort(Columns[0], ListSortDirection.Ascending); 
     Columns[0].HeaderCell.SortGlyphDirection = SortOrder.Ascending; 
    } 
} 
相关问题