我正在尝试根据gridview上方下拉列表中选择的年份制作一个显示表格详细信息的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();
答案 0 :(得分:2)
为什么要将它投入一年? 你试过这个:
items.where(item => item.YearId == dropdownlist.SelectedValue)
答案 1 :(得分:1)
你应该做
dropdownlist.DataSource = DataContext.Years;
dropdownlist.DataValueField = "YearId";
dropdownList.DataTextField = "Year";
dropdownlist.DataBind();
然后使用bonifaz的查询。