从Object Observable集合中选择单个列
本文关键字:选择 单个列 集合 Object Observable | 更新日期: 2023-09-27 18:02:36
我有一个ObservableCollection
在运行时填充了4列。
public ObservableCollection<object> SelectedRows;
我想从这个集合中获得一个Id列值,但我无法使用LINQ获得这个,因为在编译时我不知道Id列存在于集合中。
可以这样写:
vat w = from s in db.table
select s.id;
foreach (var i in w)
{
console.writeln(i);
}
var selectedIndexId = from itemSelectedRows in <YourListName>.ToList<object>()
select itemSelectedRows.GetType().GetProperty("Id").GetValue(itemSelectedRows, null);
您可以使用数据绑定:
<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)