使用 ListBox 控件,可以为其提供一个 DataSource,命名一个 DisplayMember 和一个 ValueMember,并且通过一些魔术,它会显示来自 DataSource 的一个字段并返回一个选定的 ValueMember。它可以处理 linq-to-sql 结果,甚至不知道它所提供的表的任何具体信息。
反射和属性不是在做一些魔术吗?它是如何工作的!我需要做类似的事情,但我不知道从哪里开始。我是 LINQtoSQL 的初学者。
这就是我想做的。我有一个要过滤的源表。源表可以是任何东西,但来自某些 DataContext。
var MySourceTable =
from MyRecord in Context.GetTable<MySourceTable>()
select new
{
Value = MyRecord.ID,
Display = MyRecord.Name,
FilterValue = MyRecord.Value
};
在我的控制中,我希望能够根据某个给定值过滤 MySourceTable。控件不知道使用的是什么表(上面示例中的 MySourceTable),并且控件只知道它应该使用的记录中字段的三个名称、ID、名称和值。
过滤器查询应该类似于下面的示例。
var MyTable
from Record in MySourceTable
where FilterValue == GivenValue
select new
{
Value = Record.ID,
Display = Record.Name,
};
有人可以告诉我从哪里开始吗?