gpt4 book ai didi

c# - DataGridView 控件必须绑定(bind)到要排序的 IBindingList 对象

转载 作者:太空宇宙 更新时间:2023-11-03 13:47:40 28 4
gpt4 key购买 nike

我有一个继承自 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
}

程序立即在 Sort() 上抛出一个 InvalidOperationException:

DataGridView control must be bound to an IBindingList object to be sorted.

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

最佳答案

我是这样做的:

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;
}
}

关于c# - DataGridView 控件必须绑定(bind)到要排序的 IBindingList 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14744615/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com