C# 在DataGridView底部添加行时出现问题

C# 在DataGridView底部添加行时出现问题,c#,winforms,list,datagridview,C#,Winforms,List,Datagridview,Add、Insert方法在最后一行之前而不是之后添加项 我在尝试将行添加到DataGridView时遇到问题 我当然可以手动重新排列集合,但我不认为没有方法在所有元素之后添加项 在我理解新元素后,它的索引比所有其他元素都大 很抱歉这些图片,但我更容易展示发生了什么 之前: 之后 正如您所看到的,该行是在前一行之前添加的,而不是在后一行 该行在旧行之前。当仔细查看图像时,可以看到末尾的行在标题中有一个星号 这表示它是一个有更改的新行。在更改之前,它有一个钢笔图像 这个新的自动行始终显示在末尾,因

Add、Insert方法在最后一行之前而不是之后添加项

我在尝试将行添加到DataGridView时遇到问题

我当然可以手动重新排列集合,但我不认为没有方法在所有元素之后添加项

在我理解新元素后,它的索引比所有其他元素都大

很抱歉这些图片,但我更容易展示发生了什么

之前: 之后

正如您所看到的,该行是在前一行之前添加的,而不是在后一行


该行在旧行之前。

当仔细查看图像时,可以看到末尾的行在标题中有一个星号

这表示它是一个有更改的新行。在更改之前,它有一个钢笔图像

这个新的自动行始终显示在末尾,因为用户希望在那里添加行

当您在代码中添加行时,您可能不希望这样做;所以简单地设置

view.AllowUserToAddRows = false;
一切都很好


另外:习惯于从Add获取返回值,并使用该索引处理新行。有了这个小小的改变,你的问题就不会出现了。

你能提供一个你正在谈论的问题的答案吗?DataGridView使用哪种项目源?您是否直接或通过绑定将项目添加到ObservableCollection或任何其他集合?我确信例如List.Add会在列表末尾插入项目。请注意,列表内容的排序可能与DataGridView查看列表内容的方式不同。@P_u_J_uu我真想知道6k用户希望我们如何帮助他/她处理我们看不到的代码。没有mcve,我们不知道你在说什么。您混淆了行和项、集合和视图等。请尝试澄清您的问题,并明确问题的确切含义。DataGridView是一个复杂的控件,它自动支持排序、筛选、分组等。。我目前正在使用一个,它根据当前的排序列在正确的位置显示新添加的行。这些图像中的列表在哪里?我认为您混淆了实际行和自动行,当您使用dataGridView1.AllowUserToAddress==true时,自动行将始终显示在末尾。当您使用代码添加行时,将其设置为false,然后恢复正常状态-@TaW Post是答案,并将接受它作为答案。非常感谢。