【发布时间】:2019-01-18 23:04:30
【问题描述】:
Add()、Insert() 方法在最后一行之前而不是之后添加项目
我在尝试将行添加到 DataGridView 时遇到问题。
我当然可以手动重新排列集合,但我不相信没有方法可以在所有元素之后添加项目。
据我了解,新元素的索引比所有其他元素都大。
对图片感到抱歉 - 但我更容易展示发生了什么
如您所见,该行被添加之前前一个 - 而不是之后
【问题讨论】:
-
你能提供一个minimal reproducible example 你在说什么吗?
DataGridView使用什么样的物品来源?您是直接添加项目还是通过绑定到ObservableCollection或任何其他集合?我敢肯定,例如List<T>.Add()在列表末尾插入项目。请注意,列表内容的排序方式可能与DataGridView查看的方式不同。 -
@P__J__ 我真的很想知道一个 6k 用户希望我们如何帮助他/她处理我们看不到的代码。没有 mcve,我们不知道您在说什么。您混淆了 rows 和 items、collections 和 views 等...请尝试澄清您的问题并提出问题明确究竟是什么问题。
DataGridView是一个复杂的控件,自动支持排序、过滤、分组等。我目前正在使用一个,它根据当前排序列在正确的位置显示新添加的行. -
这些图像中的列表在哪里?
-
我认为 您将实际行混淆 与 自动行 将 始终显示在末尾b>有
dataGridView1.AllowUserToAddRows == true。在您使用代码添加行时将其设置为false,然后恢复正常;-) -
@TaW Post 是答案,并将接受它作为答案。谢谢
标签: c# winforms list datagridview