gpt4 book ai didi

c# - 以编程方式更新选定的行会错过 dgv.DataSource.GetChanges() 中的最后一行吗?

转载 作者:行者123 更新时间:2023-11-30 20:46:42 25 4
gpt4 key购买 nike

我有一个带有列(组合框列)的数据 GridView 。实现了以下功能。

  1. 选择几行(点击最左边的行标题并拖动)。
  2. 以编程方式将值设置为某个值(见下文)。所有选定的行都会更改。

        foreach (DataGridViewRow item in dgv.SelectedRows)
    {
    item.Cells["cbxxxxx"].Value = p;
    }
    dgv.EndEdit();
  3. 点击保存按钮保存更改。但是,最后一行被排除在 (dgv.DataSource as DataTable).GetChanges() 中。更改的数据表的计数总是比选择的行少一个。缺少的行是最后一行(带有黑色三角形)。

如何解决这个问题?

最佳答案

最后一行可能仍然是事件行,因此您需要通过 BindingContext 结束编辑:

foreach (DataGridViewRow item in dgv.SelectedRows) {
item.Cells["cbxxxxx"].Value = p;
}
this.BindingContext[dgv.DataSource].EndCurrentEdit();

关于c# - 以编程方式更新选定的行会错过 dgv.DataSource.GetChanges() 中的最后一行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26556024/

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