ListBoxコントロールを使用すると、データソースをフィードし、DisplayMemberとValueMemberに名前を付けることができます。魔法を使って、データソースのフィールドを表示し、選択した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)を認識せず、使用するレコードのフィールドの3つの名前、ID、Name、およびValueのみを認識します。
フィルタクエリは、次の例のようになります。
var MyTable
from Record in MySourceTable
where FilterValue == GivenValue
select new
{
Value = Record.ID,
Display = Record.Name,
};
誰かがどこから始めればいいのか教えてもらえますか?