Схема редактирования записи

360
28 декабря 2016, 02:30

Есть две формы. В первой список клиентов, вторая форма для редактирования записи. После редактирования данные о клиенте обновляются в БД и на первой форме происходит обновление по данному клиенту. Вопрос заключается в том, как грамотно реализовать данную задачу? Именно передать с первой формы данные на вторую форму, а после редактирования передать обратно измененные данные? На данный момент передаю через свойства, но на сколько это правильно - не знаю. Пожалуйста, можете дать общую схему? дальше сам.

Answer 1

Код к первой форме предлагаю примерно такой:

//редактируемый объект
Data data;
EditorForm editor = new EditorForm();
//внедряем редактируемый объект в форму редактирования
editor.Data = data
//EditorForm при нажатии на кнопку OK делает валидацию и редактирует объект из полей
//Соответственно, если нажали OK - значит объект изменился.
//Обратно ничего передавать не надо
if (editor.ShowDialog() == DialogResult.OK)
{
    //сохраняем объект в БД
    //Например, для Entity Framework
    context.SaveChanges();
}
Answer 2

Из первой формы данные, обернув, скажем в объект/структуру, передать в конструкторе второй формы, а в классе второй формы выделить публичный метод, за который дернет первая форма после завершения редактирования.

что-нибудь вроде этого:

using (ВашаВтораяФорма f = new ВашаВтораяФорма(ВашОбъектСДанными))
{
    if (f.ShowDialog() != DialogResult.OK)
    {
        return;
    }
    var ИзмененныеДанные = f.GetData();
    // действия с ними - обновление первой формы, запись в БД и т.д.
}
READ ALSO
нет привязки команды в checkBox-е

нет привязки команды в checkBox-е

здравствуйте, нужно, чтобы параметром команды щелчка по checkbox был сам этот checkbox и возможно было в viewModel считать Uid этого checkboxмаксимально упростил...

418
Понять, что упаковано в object

Понять, что упаковано в object

Например, есть какой-то известный пользовательский тип(его либа есть в проекте), который приведен к типу object

344
Сформировать UPDATE в Entity Framework

Сформировать UPDATE в Entity Framework

Вопрос проще понять, если сразу взглянуть на код

347