gpt4 book ai didi

c# - 完成编辑单元格后自动对 DataGridView 进行排序

转载 作者:行者123 更新时间:2023-11-30 20:56:12 26 4
gpt4 key购买 nike

我有一个简单的、未绑定(bind)的 DataGridView。我希望特定列在编辑任何单元格后自动排序。当 CellEndEdit 事件被触发时,我尝试调用 dataGridView1.Sort,但我得到一个 InvalidOperationException 消息 Operation is not valid因为它会导致对 SetCurrentCellAddressCore 函数的重入调用。

知道如何让列自动排序吗?

最佳答案

您不必在 CellEndEdit 事件处理程序中调用 dataGridView1.Sort(),编辑单元格后该列将自动为您排序。您只需要指定要排序的列以及要排序的顺序(升序或降序)一次,例如在您的表单构造函数中:

//This will sort ascendingly the first column
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);

然后,每次用户完成第一列中的单元格编辑时,该列将自动排序。

更新

如果 DataGridView 不是数据绑定(bind)的,我尝试将上面的代码行放在 CellEndEdit 事件处理程序中,它工作正常。我不确定为什么它对您不起作用?

private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
if(e.ColumnIndex == 0)//Just care the first column
dataGridView1.Sort(dataGridView1.Columns[0], ListSortDirection.Ascending);
}

关于c# - 完成编辑单元格后自动对 DataGridView 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17664430/

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