Заполнение Gridview с помощью DropDownList - PullRequest
3 голосов
/ 29 июня 2011

Я пытаюсь создать сетку, которая отображает детали таблицы на основе того, какой год выбран в раскрывающемся списке над сеткой.

dropdownlist.datasource состоит из лет в форме datetime и заполняется из таблицы Years (где YearId - первичный ключ, а не отображаемое поле) в базе данных.Сетка gridview.datasource состоит из элементов из таблицы «Элементы» (где YearId - внешний ключ).

Когда изменяется выбор в раскрывающемся списке, мне нужно получить значение YearId выбранного элемента и изменить источник данных длявид сетки должен быть примерно таким:

items.where(item => item.YearId == ((Year)dropdownlist.selecteditem).YearId)

К сожалению, это никогда не было так просто, и

((Year)dropdownlist.selecteditem).YearId 

недопустимо.Я не могу представить объект списка как объект года.Любые идеи о том, как это сделать?

[EDIT]

Вот как заполняется раскрывающийся список.Если есть лучший способ сделать это (и я уверен, что есть), дайте мне знать!

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

Ответы [ 2 ]

2 голосов
/ 29 июня 2011

Зачем вообще ставить его на год?Вы пробовали это:

items.where(item => item.YearId == dropdownlist.SelectedValue)
1 голос
/ 29 июня 2011

Вы должны сделать

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

Тогда используйте запрос Бонифаза.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...