2014-01-09 2 views
0

Я знаю, что есть много вопросов о привязке данных в WPF C#, но я уже не в своем уме.WPF dataset/row row edit в новом окне

Существует простой способ сделать привязку данных к dataGrid в wpf, это встроенная функция. Но я хочу щелкнуть по определенной строке, а затем нажать кнопку «Изменить» и отредактировать эту строку и некоторую дополнительную информацию в новом всплывающем окне, а не непосредственно в datagrid.

Выбор конкретной строки - это еще одна история, но теперь главной проблемой для меня является загрузка данных из этой конкретной строки в базу данных в текстовые поля в новом окне. я могу сделать это

DataTable obj = contactsTableAdapter.GetOne(id); 
    DataRow r = obj.Rows[0]; 
    String sur = r[5].ToString(); 

, но это не так, и один из способов решения.

Я хочу использовать правильную привязку данных между этой выбранной строкой и моими текстовыми полями, где пользователь может изменить данные и нажать кнопку, чтобы вызвать метод обновления для распространения изменений в базе данных.

Я не уверен, как загрузить эту конкретную выбранную строку, какой тип объекта и как связать его с текстовым полем, и как это сделать чистым способом, без каких-либо хаков.

Я уверен, что C# предоставляет некоторое очевидное решение, но я где-то потерялся.

Я жду с нетерпением, и спасибо за любое решение!

+0

Передача данных намного проще с использованием MVVM. Это большая тема, но в долгосрочной перспективе вы сэкономите много боли. Инструмент MVVM light - это хорошее место для начала. – SWilko

ответ

0

Если вы не хотите использовать MVVM, это простое решение.

  1. Ваша кнопка метод клик должен иметь доступ к DataGrid

    MyItemType item = (MyItemType)myDataGrid.SelectedItem; 
    
  2. Пропустите товар в новой форме \ окна \ whaterver.

ПРИМЕЧАНИЕ. Возможно, вы захотите, чтобы нуль проверил выбранный элемент. Вы можете поместить кнопки редактирования в строку DataGrid.

+0

Это своего рода решение, но оно охватывает только половину моей проблемы, оно свяжет данные, которые отображаются в dtatagrid, но любые дополнительные данные (подробное представление - я думаю) должны быть загружены и привязаны, чтобы путь от базы данных до текстового поля все еще был Неизвестный для меня. Я уже начал изучать MVVM, поэтому, возможно, это поможет мне. Спасибо за Ваш ответ. – user3178101

Смежные вопросы