2

我有一个继承自它的自定义控件DataGridView,我希望能够复制 .cs 文件并将其放入任何项目中。虽然有一段代码我无法移出Main.cs并移入DataGridView.cs

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
}

该程序立即抛出InvalidOperationException一个Sort()

DataGridView 控件必须绑定到要排序的 IBindingList 对象。

如何将此代码移入DataGridView.cs

4

1 回答 1

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;
    }
}
于 2013-02-07T07:44:59.420 回答