使用DropDownList填充Gridview

时间:2011-06-29 16:30:12

标签: c# asp.net linq gridview drop-down-menu

我正在尝试根据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();

2 个答案:

答案 0 :(得分:2)

为什么要将它投入一年? 你试过这个:

items.where(item => item.YearId == dropdownlist.SelectedValue)

答案 1 :(得分:1)

你应该做

dropdownlist.DataSource = DataContext.Years;
dropdownlist.DataValueField = "YearId";
dropdownList.DataTextField = "Year";
dropdownlist.DataBind();

然后使用bonifaz的查询。