如何以编程方式获取WPF gridview行值?

时间:2014-05-09 08:03:29

标签: c# wpf gridview

我们有很多ListViewsGridView视图绑定到ViewModelCollection<T>。现在我需要从GridView获取显示的值(作为字符串)。似乎我无法访问GridView类中的行。

我不知道GridView显示的是什么类型,所以我也不能使用ListView.ItemCollection。另外我不知道GridView的名称,因为代码不在后面的代码中(试图遵循MVVM模式)。我只需要显示的值,以便我可以将它们导出到Excel工作表(列顺序也很重要)。

有关如何处理此问题的任何建议吗?

2 个答案:

答案 0 :(得分:0)

我会使用ViewModelCollection来获取数据。如果丢失格式,只需在字段上应用相同的格式规则即可。更好的是,我会在ViewModelCollection中使用相应的格式公开字符串属性,并将网格视图绑定到它们。

答案 1 :(得分:0)

通过使用DataRowView,您可以获取每个单元格值。

DataRowView row = (DataRowView)grid_view.SelectedItems[0];
cmbx_name.Text = row.Row.ItemArray[0].ToString();
lbl_date.Text = row.Row.ItemArray[1].ToString();
txt_location.Text = row.Row.ItemArray[2].ToString();
txt_vehicleno.Text = row.Row.ItemArray[5].ToString();
cmbx_source.Text = row.Row.ItemArray[6].ToString();
orderid = row.Row.ItemArray[7].ToString();
custid = row.Row.ItemArray[8].ToString();