以编程方式更改DataGridView单元格的值后,无法更新源代码。我该怎么办?
datagridview1.DataSource = bindingsource1;
datagridview1.Rows[0].Cells[0].Value = "1";
答案 0 :(得分:0)
您需要在datagridview上调用refresh
datagridview1.Refresh();
如果您处于编辑模式,则应使用EndEdit
datagridview1.EndEdit();
datagridview1.Refresh();
答案 1 :(得分:0)
我认为您需要手动执行此操作。将数据绑定到gridview。更新gridview。选择已更新的单元格,将数据保存回数据并从数据源中提取数据并刷新gridview。
答案 2 :(得分:0)
您需要在我的代码
下面写回DataSet
private void button2_Click(object sender, EventArgs e)
{
this.Validate();
try
{
dgvArticles.CurrentRow.Cells[1].Value = txtSubject.Text;
dgvArticles.CurrentRow.Cells[2].Value = rtbBodyContent.Text;
dgvArticles.CurrentRow.Cells[3].Value = pbPrimaryPicture.Image;
dgvArticles.CurrentRow.Cells[4].Value = pbSecondaryPicture.Image;
dgvArticles.CurrentRow.Cells[5].Value = pbThirdPicture.Image;
}
catch
{
MessageBox.Show(e.ToString());
}
AccessingNetFamerDatabase anfdArticles = new AccessingNetFamerDatabase();
if (_dsArticles!= null)
{
SqlCommandBuilder _sqlCBArticles = new SqlCommandBuilder(AccessingNetFamerDatabase._sqlDataAdapter);
AccessingNetFamerDatabase._sqlDataAdapter.Update(_dsArticles.Tables[0]);
}
}
答案 3 :(得分:0)
我有同样的问题,能够通过在绑定源上调用EndEdit()来解决它。
例如
bs.EndEdit();
int x1 = data.Update(dt);
更新然后返回更新的行数。在添加EndEdit之前,它一直为零