【问题标题】:Extract information from datagrid in wpf从 wpf 中的数据网格中提取信息
【发布时间】:2013-06-14 04:54:57
【问题描述】:

我是 WPF 新手。我有一个包含行数和列数的 DataGrid。我需要为每一列提取每一行的信息;我怎样才能做到这一点?请注意,我需要所有列的所有行的信息,而不是选定的行。

我按照这些思路动态填充了 DataGrid:

public class person
{
    public string name { get; set; }
    public string lastName { get; set; }
}

List<person> persons = new List<person>();
persons.Add(new person() { name = "john", lastName = "brown" });
persons.Add(new person() { name = "polly", lastName = "parker" });
persons.Add(new person() { name = "ann", lastName = "parker" });
persons.Add(new person() { name = "rebecca", lastName = "moosavian" });

dataGrid1.ItemsSource = persons;

现在我需要在编辑后从这个 DataGrid 中检索 name 和 lastName 属性。

【问题讨论】:

  • 我认为您可以在此线程中找到您问题的答案 [如何循环遍历 WPF 工具包 Datagrid 的行][1] [1]:stackoverflow.com/questions/1934529/…
  • 我之前测试过这个,但是我怎样才能到达每一行的名字和姓氏这个代码返回一行而不是行中的名字和姓氏等文本

标签: c# wpf


【解决方案1】:

您是如何填充数据网格的?

您必须将某些数据源绑定到您的数据网格(这通常是 CLR 对象的 ObservableCollection 或其他类型的集合)...您的数据在那里,无需提取任何内容。

底线是数据网格必须有数据源,您在数据网格中看到的数据就在那里,不需要提取。

【讨论】:

  • 是的,我有一个数据源,但是如果我更改和编辑数据网格,这个数据源会根据编辑而改变吗?
  • 是的,您需要使用 ObservableCollection 并实现某种更改通知,无论是 INotifyPropertyChanged 还是更好,但使用许多 MVVM 框架之一,这些框架通常具有一个基类,您的所有 ViewModel 类都从该基类继承,并且基类为您实现开箱即用的更改通知,因此您不必处理它...最受欢迎的是 Caliburn Micro 和 MVVM Light...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-24
  • 2019-06-13
  • 1970-01-01
  • 2019-09-06
  • 2023-04-01
  • 2018-06-27
  • 1970-01-01
相关资源
最近更新 更多