Здравствуйте, Solova, Вы писали:
S>Почему бы не использовать DropDownList?
S>S><asp:DropDownList SelectedValue='<%# Bind("ProjectID") %>'
S> DataSourceID="!Здесь имя Вашего SqlDataSource!" DataTextField="!Имя отображаемого поля!"
S> DataValueField="!Имя поля, которое будет выступать значением!" ID="DropDownList" runat="server">
S> </asp:DropDownList>
S>
Таже проблемма как и у автора поста. Опишу проблемму:
использую VS 2010. АСП создаю страничку на которой выводятся данные из БД в ListView, при чем выводится объедененная таблица. Т.е. Имею таблицу Владельцы с полями ID, FirstName, LastName, CarID. И вторую таблицу Машины с полями ID и CarName. Теперь при редактировании записи в ListView, пытаюсь вместо выводимого TextBox для поля CarName, вывести DropDownList с данными из таблицы Машины. Получается все прекрасно до тех пор пока не пытаюсь привязывать выводимый DropDownList к редактируемой записи. А конкретно пытаюсь изменить выбранное значение списка, чтобы оно соответствовало текущему автомобилю редактируемого владельца. Вот пример кода:
<EditItemTemplate>
<tr>...
...
<td>
<asp:DropDownList ID="ddlCarID" runat="server" DataSourceID="SqlDataSource2"
DataTextField="CarName" DataValueField="ID" Visible="true"
SelectedValue='<%# Bind("CarName") %>'>
</asp:DropDownList>
</td>
...
</tr>
</EditItemTemplate>
Если использую SelectedValue отладчик ругается выдает следующую ошибку: "Sys.WebForms.PageRequestManagerServerErrorException: 'ddlCarID' имеет SelectedValue, что недопустимо, так как этот элемент не существует в списке элементов. Имя параметра: value"
Привязать по SelectedIndex тоже не получается поскольку в выводимой таблице нет CarID а есть только CarName. Может конечно проблема возникает из-за того, что список я заполняю отдельным запросом SqlDataSource2, в то время как в ListView вывожу объдененную таблицу из SqlDataSource1. Но тогда мне собственно совсем не понятно как реализовать все одним запросом и список заполнить и в ListView вывести объедененную таблицу. Если кто-нибудь может подсказать как решить проблему буду очень признателен.