Как сохранить изменения строк в DevExpress GridView с помощью EmbeddedNavigator



Я использую кнопки добавления, редактирования и удаления EmbeddedNavigator. Я подписался на событие gridControl1_EmbeddedNavigator_ButtonClick и там проверяю, какая кнопка нажата.



Проблема в том, что когда я редактирую ячейку и нажимаю сохранить изменения(EndEdit), я не вижу новых значений.
Вот код, который у меня есть:

private void gridControl1_EmbeddedNavigator_ButtonClick(object sender, DevExpress.XtraEditors.NavigatorButtonClickEventArgs e)
{
if (e.Button.ButtonType == DevExpress.XtraEditors.NavigatorButtonType.EndEdit)
{
if (MessageBox.Show("Do you want to save the changes?", "Save changes?", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question) == DialogResult.Yes)
{
var rowHandle = gridView1.FocusedRowHandle;

// Here if the port is null by default, when I change it to 25
// I still get an empty string
var port = Convert.ToString(gridView1.GetRowCellValue(rowHandle, "ftpPort"));

var ftpConfig = new FtpConfiguration() { ftpPort = port };
// Update and save
context.UpdateFtpConfiguration(ftpConfig);
context.Save();
}
else
e.Handled = true;
}
}


Может быть, я должен сначала добавить их в строку, но как?

840   1  

1 ответ:

Попробуйте опубликовать изменения в базовом файле DataSource перед его сохранением:

if (gridView1.IsEditing)
    gridView1.CloseEditor();

if (gridView1.FocusedRowModified)
    gridView1.UpdateCurrentRow();

Comments

    Ничего не найдено.