DataGrid с использованием проблемы обновления SQLDataAdapter - PullRequest
1 голос
/ 22 сентября 2009

У меня есть отличный DataGridView, который загружается / заполняется кнопкой и SQLDataAdapter и соответствующей кнопкой saveButton.

private void loadButton_Click(object sender, EventArgs e)
{

    String connString = conStringComboBox.Text;
    String query = queryStringComboBox.Text;

    dAdapter = new SqlDataAdapter(query, connString);
    SqlCommandBuilder cBuilder = new SqlCommandBuilder(dAdapter);

    dTable = new DataTable();

    dAdapter.Fill(dTable);

    bSource = new BindingSource();

    bSource.DataSource = dTable;

    dataGridView.DataSource = bSource;

}


private void saveButton_Click(object sender, EventArgs e)
{
    dAdapter.Update(dTable);
}

Всякий раз, когда я редактирую что-то в dataGridView и нажимаю сохранить, все просто замечательно. Значение в правильной ячейке на SQL-сервере обновляется.

НО я реализовал небольшой редактор для лучшего обзора. Значение ячейки X там изменяется, и оно возвращается к DataGridview:

dataGridView.SelectedCells[0].Value = exampleString;

Соответственно обновляется DataGridView, я нажимаю «Сохранить» - обновление выполняется без проблем, но новое значение, очевидно, не передается на SQL Server, потому что, как только я загружаю ту же таблицу, оно снова отображает старое значение. 1009 *

Есть идеи где то, что я здесь забыл? Каждый вход ценится!

Ответы [ 2 ]

2 голосов
/ 22 сентября 2009
dataGridView.EndEdit();
bSource.EndEdit();
dAdapter.Update(dTable);

Works!

После долгих поисков я наконец нашел подсказку:

Слава -> .NET WinForms Окончание текущего редактирования

0 голосов
/ 22 сентября 2009

Поскольку вы привязаны к таблице данных, строки имеют состояние строки (исходное, измененное). При использовании встроенной функции редактирования в сетке это устанавливает состояние строк как измененное, возможно, использование вашего метода для обновления ячейки программно - не установка свойства базового источника datarow для изменения, или, что еще хуже, даже не изменение его значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...