匿名型を GridView のソースとして使用したいと考えています。ただし、ドロップダウンリストを使用して最初にフィルタリングされます。説明させてください:私は次のように定義したタイプを持っています:
IEnumerable<object> data = new[]{
new{Name="McClure Wallace", Id=1, Sal=10000d, Age=29},
new{Name="John Jones", Id=2, Sal=12000d, Age=27},
new{Name="Gloria Flowhart", Id=3,Sal=14000d, Age=21}
. . .
};
これをドロップダウンリストのソースとして使用します。
ddlEmployee.DataSource=data;
ddlEmployee.DataTextField = "Name";
ddlEmployee.DataValueField = "Id";
ddlEmployee.DataBind();
ユーザーがリストからアイテムを選択すると、対応するオブジェクトを取得して Gridview にバインドします。
var sel = ddlEmployee.SelectedItem.ToString();
var selData = from d in data where **d.Id= sel** select d;
gvSearchResults.DataSource = selData;
gvSearchResults.DataBind();
しかし問題は、d をオブジェクトとして取得するため、d.Id でエラーがスローされることです。
どうすればこれを修正できますか。これはアプリの外部で制御されるため、「データ」の定義を変更できない場合があることに注意してください。わかりやすくするためにここに示しているだけです。