我正在尝试使gridview根据gridview上方的下拉列表中选择哪一年来显示表的详细信息。使用DropDownList填充Gridview
dropdownlist.datasource由datetime形式的年份组成,并从数据库中的年份表(其中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查询。 –
我试图将下拉列表中选定的项目作为一年(因此在dropdownlist.selecteditem上进行强制转换),然后获取Year对象的YearId值。 (另外,我打算把它看作是伪代码,只是为了描绘我想要做的事情) –
对不起......我需要更清楚。它不允许我演出。 –