微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#修改DataGridView后不更新DataSet

如何解决C#修改DataGridView后不更新DataSet

我正在尝试更新数据网格视图(将行移动到新索引)。 我无法直接更新它,因为数据网格视图已绑定,所以我使用 dataTable 执行此操作。

  var dataTable = ((DataView)dataGridViewWebFields.DataSource).Table;
            var dataGridRow = dataGridViewWebFields.Rows.Cast<DataGridViewRow>().FirstOrDefault(r => r.Cells[0].Value.Equals(fieldName));
            if (dataGridRow != null && dataGridRow.Index != newIndex)
            {
                var dataTableRow = GetWebFieldFromDataGridViewRow(dataGridRow);
                var dataViewRow = dataGridViewWebFields.Rows[newIndex];
                dataViewRow.DefaultCellStyle = dataGridRow.DefaultCellStyle;
                var newRow = dataTable.NewRow();
                newRow.ItemArray = dataTableRow.ItemArray;
                dataTable.Rows.Remove(dataTableRow);
                dataTableRow.Index = newIndex;
                dataTable.Rows.InsertAt(newRow,newIndex);
                dataGridViewWebFields.DataSource = dataTable.AsDataView();
            }

问题是,在我将其保存到数据库刷新控件后,数据网格视图的状态恢复为认值(更改前)。我认为数据集上的某些内容未正确更新。 你能指导我做错什么吗?

解决方法

将此代码放在代码的最后一行 dataGridRow.DataBind() dataGridRow.Refresh()

,

以下代码对我有用:

BookShipment

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。