2011-05-16 58 views
0

我有一个DataGrid自动从LINQ到SQL源提供某些值。 DataGrid的标题也是自动生成的。我只想要数据网格中当前选定项目的单元格之一。如何从自动填充的DataGrid获取项目?

var a = TestGrid.SelectedCells[0].Item;

如果我调试这个我得到包含我需要的所有值的列表:

TestGrid.SelectedCells[0].Item{ Datum = {11.05.2011 00:00:00}, ID = 3, name = "db",Status = "Ready" }<Anonymous Type>

我完全不知道如何从匿名选择第二项(ID)类型和谷歌没有帮助

+0

p.s.当你访问单元格时,回到匿名对象看起来很奇怪。如果有的话,你应该得到,如果访问一排。看到你的查询看起来会有所帮助。 – 2011-05-16 02:00:33

回答

1

最好的选择是创建一个类型来保存您的值并将其存储在您的DataGrid中。如果你只用它来显示,匿名类型可以使用。当你需要将它们用于其他任何事情时,它们并不是那么棒。

如果你真的想坚持匿名类型,你唯一的选择是使用反射。如果这特别是一个C#4.0+应用程序,那么使用dynamic可以使这更容易一些。

+0

现在的问题是,我现在用以下方式获取数据:'var query = search(foo); TestGrid.ItemsSource = query;',搜索结果如上所示。为了方便起见,我没有使用匿名类型,而是因为我真的不知道如何在没有硬编码/迭代值/标头的情况下将数据放入网格。 – fk2 2011-05-16 00:59:38

+0

@ fk2:这是一个WinForms应用程序吗? WPF?网?列生成在WPF和WinForms AFAIK中是完全自动的。 – 2011-05-16 01:45:26

+0

那么,我现在只是简单地制作一个需要的字段数量和属性的类型。一个地狱打字,但它的作品。谢谢你的帮助! – fk2 2011-05-16 12:08:20

相关问题