グリッドビューの上のドロップダウンリストで何年が選択されているかに基づいてテーブルの詳細を示すグリッドビューを作成しようとしています。DropDownListでGridviewを設定する
dropdownlist.datasourceはdatetime形式の年で構成され、Years表(YearIdは主キーですが、表示されるフィールドは表示されません)からデータベースに移入されます。 gridview.datasourceはItemsテーブルの項目で構成されます(YearIdは外部キーです)。
ドロップダウンリストでの選択が変更されると、私が選択した項目のYearId値を取得し、このようなものにするためにGridViewのデータソースを変更する必要があります、残念ながら
items.where(item => item.YearId == ((Year)dropdownlist.selecteditem).YearId)
、そのこの単純なことはありませんそして
((Year)dropdownlist.selecteditem).YearId
は有効ではありません。 listitemをYearオブジェクトとしてキャストできないようです。これを行う方法に関するアイデア?
[編集]
ここに、ドロップダウンリストの入力方法を示します。これを行うより良い方法があるならば、(私はそこにいると確信しています)私に知らせるために自由に感じてください!
dropdownlist.DataSource = DataContext.Years;
dropdownlist.DataValueField = "Year";
dropdownlist.DataBind();
外部からキャストし、yearIdを受け取り、yearIdをクエリに渡してみてください。 –
私はドロップダウンリストで選択された項目を1年として取得しようとしています(したがって、dropdownlist.selecteditemのキャスト)、YearオブジェクトのYearId値を取得しようとしています。 (また、私は擬似コードとして読みたいと思って、私がしたいことを描写することを意図した) –
申し訳ありません...私はより明確にする必要があります。それは私がキャストを実行することができません。 –