【问题标题】:DataGrid - iterate over rows and access cell values of each rowDataGrid - 遍历行并访问每行的单元格值
【发布时间】:2013-10-28 17:10:37
【问题描述】:

C# WPF 我有一个 DataGrid 对象。为了用值填充 DataGrid-对象,我将 DataGrid.ItemsSource-属性设置如下:

List<SomeClass> someClassList = new List<SomeClass>();
//adding elements to someClassList (omitted for brevity)
myDataGrid.ItemsSource = someClassList;

这行得通,我可以看到添加到 DataGridsomeClassList 的所有元素。

用户单击按钮后,我想将 DataGrid 中的所有内容保存到 XML 文件

我认为因此遍历DataGrid 的行 会很聪明。在每次迭代中,我可以一次访问一行单元格内的值,并将其写入 XML 文件

为了执行这样的迭代,我编写了以下代码:

foreach (SomeClass someClassElement in myDataGrid.Items)
{
    Trace.WriteLine("cell-A = " + someClassElement.propertyA +
                    "cell-B = " + someClassElement.propertyB +
                    "cell-C = " + someClassElement.propertyC);
}

不幸的是(通过单击按钮)执行它会导致 InvalidCastException,尽管 WritLine 方法能够将每个单元格值打印到 输出窗口

如何在没有 InvalidCastException 的情况下执行迭代?

有没有更聪明的方法将 DataGrid 内容保存到 XML 文件?

【问题讨论】:

    标签: c# wpf exception datagrid


    【解决方案1】:

    迭代myDataGrid.ItemsSource 而不是myDataGrid.Items,您将获得SomeClass 实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-16
      相关资源
      最近更新 更多