【问题标题】:WPF dataset/database row edit in new window在新窗口中编辑 WPF 数据集/数据库行
【发布时间】:2014-01-28 05:56:18
【问题描述】:

我知道有很多关于 WPF C# 中的数据绑定的问题,但我已经疯了。

有一种简单的方法可以在 wpf 中对 dataGrid 进行数据绑定,这是一个内置功能。 但我想点击特定的行,然后点击编辑按钮并在新的弹出窗口中编辑这一行和一些附加信息,而不是数据网格本身。

选择特定行是另一回事,但现在对我来说主要问题是将数据从数据库中的这一特定行加载到新窗口中的文本框。 我可以这样做

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

但这是错误的,是一种解决方案。

我想在这个选定的行和我的文本框之间使用适当的数据绑定,用户可以在其中修改数据并单击按钮调用 Update 方法以将更改传播到数据库。

我不确定如何加载特定的选定行,加载到什么类型的对象,以及如何将其绑定到文本框,以及如何以简洁的方式执行此操作,而无需进行一些黑客操作。

我很确定 c# 提供了一些明显的解决方案,但我在某个地方迷路了。

我正在不耐烦地等待一些帮助,感谢任何解决方案!

【问题讨论】:

  • 使用 MVVM 进行数据绑定要容易得多。这是一个很大的话题,但从长远来看会为您节省很多痛苦。 MVVM 轻量级工具包是一个不错的起点。

标签: c# wpf database data-binding datagrid


【解决方案1】:

如果您不想使用 MVVM,这里有一个简单的解决方案。

  1. 您的按钮单击方法应该可以访问数据网格

    MyItemType item = (MyItemType)myDataGrid.SelectedItem;
    
  2. 将项目传递给您的新表单\window\whaterver。

注意:您可能希望对选定项进行空检查。您可以将编辑按钮放在 DataGrid Row 中。

【讨论】:

  • 这是一种解决方案,但它只涵盖了我的问题的一半,它将绑定显示在 dtatagrid 中的数据,但必须加载和绑定任何其他数据(详细视图 - 我猜),所以从数据库到文本框的路径对我来说仍然未知。我已经开始学习 MVVM,所以也许这会对我有所帮助。感谢您的回答。
猜你喜欢
  • 2012-10-15
  • 1970-01-01
  • 2013-05-11
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
  • 2019-03-10
  • 1970-01-01
相关资源
最近更新 更多