如何解决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 举报,一经查实,本站将立刻删除。