Как использовать DropdownList при редактировании Gridview - PullRequest
1 голос
/ 27 февраля 2012

У меня есть DropDownList в GridView. Во время действия редактирования DropDownList s во всех строках корректно работают при редактировании (и обновлении).

Но в определенных строках, когда я нажимаю кнопку редактирования, отображается следующая ошибка:

DropDownList3 имеет SelectedValue, которое недопустимо, потому что не существует в списке предметов. Имя параметра: значение

Это код:

<asp:DropDownList ID="DropDownList3" runat="server" DataSourceID="AccessDataSource4"
    DataTextField="ProvinceName" DataValueField="ProvinceName" SelectedValue='<%# Bind("Province") %>'>
</asp:DropDownList>

Таблица «RateCenters» отображается в Gridview, в которой есть «Столбец провинции». Столбец Провинция получает источник из "Имя провинции" Таблицы ProvinceList.

Пожалуйста, дайте мне знать решение.

Ответы [ 2 ]

2 голосов
/ 27 февраля 2012

Ваша разметка говорит, что вы связываете SelectedValue вашего DropdownList с полем "Провинция" в вашем родительском источнике данных (источник данных для Gridview)

Значения в вашем DropDownList поступают из поля "ProvinceName" в вашем AccessDataSource4 элементе управления.

Эта ошибка означает, что ваш код выбирает значение из источника данных GridView (поле "Province"), которого нет в списке значений, возвращаемых в поле "ProvinceName" вашего элемента управления AccessDataSource4.


Быстрое решение этой проблемы - изменить «SelectCommand» AccessDatasource4 так, чтобы он выполнял тот же запрос, что и источник данных вашего элемента управления GridView, но только с одним нужным столбцом («ProvinceName») в SELECT список. Таким образом, вы гарантированно получите одинаковые значения.

1 голос
/ 27 февраля 2012

Если вы программно установите значение в DDL (DropDownList), которого на самом деле нет в списке, вы получите эту ошибку.

Сценарий: вы выбираете вариант 5 в DDL, но он содержит только 3 варианты, например

Расскажите немного подробнее о вашем коде, чтобы мы могли исследовать его.

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