0

DataGridViewセルの値をプログラムで変更した後、ソースを更新できません。私に何ができる?

datagridview1.DataSource = bindingsource1;
datagridview1.Rows[0].Cells[0].Value = "1";
4

4 に答える 4

0

datagridviewでrefreshを呼び出す必要があります

datagridview1.Refresh();

編集モードの場合は、EndEditを使用する必要があります

datagridview1.EndEdit();
datagridview1.Refresh();
于 2012-04-08T16:40:43.583 に答える
0

これは手動で行う必要があると思います。データをグリッドビューにバインドします。グリッドビューを更新します。更新されたセルを選択し、データをデータに保存して戻し、データソースからデータをプルしてグリッドビューを更新します。

于 2012-04-08T20:06:42.733 に答える
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]);
    }
}
于 2013-03-02T11:52:44.450 に答える
0

同じ問題がありますが、バインディングソースでEndEdit()を呼び出すことで解決できました。

例えば

bs.EndEdit();

int x1 = data.Update(dt);

次に、Updateは、更新された行数を返しました。EndEditが追加される前は、常にゼロでした。

于 2013-09-11T16:25:39.837 に答える