1

ObservableCollection在运行时填充了 4 列。

public ObservableCollection<object> SelectedRows;

我想从此集合中获取 Id 列值,但我无法使用 LINQ 获取此值,因为在编译时我不知道集合中存在 Id 列。

4

3 回答 3

0

Maybe something like this:

vat w = from s in db.table
        select s.id;

foreach (var i in w)
{ 
    console.writeln(i);
}
于 2013-03-07T08:39:38.647 回答
0
var selectedIndexId = from itemSelectedRows in <YourListName>.ToList<object>()
                      select itemSelectedRows.GetType().GetProperty("Id").GetValue(itemSelectedRows, null);
于 2013-03-12T06:31:18.063 回答
0

您可以使用数据绑定来做到这一点:

<ListBox ItemsSource="{Binding SelectedRows}"
         DisplayMemberPath="The property to be displayed"
         SelectValuePath="The property that SelectedValue would bind to"
         SelectedValue="{Binding SelectedRowId}" />

如果您需要在 C# 中执行此操作,我强烈建议您的对象实现您可以转换为的通用接口。否则,您可以使用dynamic关键字:

SelectedRows.Cast<dynamic>().Select(d => (int)d.Id)
于 2013-03-12T08:06:39.557 回答