Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка под ASP.NET > DropDownList


Автор: Martin_8 11.11.2009, 19:23
Здравствуйте.
Помогите, пожалуйста, разобраться.
У меня есть DetailsView, в одном из полей вставлен DropDownList. DropDownList привязан к SqlDataSource. 
Когда DetailsView находится в режиме просмотра всё отлично работает.  
Когда DetailsView переключается в режим редактирования, я хочу чтобы в DropDownList была выбрана «правильная» запись в соответствии со своим индексом (такая же запись, как и в режиме просмотра DetailsView).

Я пытался это сделать следующим образом, используя свойство SelectedValue:
Код

<EditItemTemplate>
                    <asp:DropDownList ID="lstInDep" runat ="server" DataSourceID ="SourceDepartment" 
                     DataTextField = "NameR" DataValueField = "Id"  AppendDataBoundItems ="true" SelectedValue='<%# Bind("Id")%>' >
                    </asp:DropDownList>
 </EditItemTemplate>


Пытался и так:
Код

            <asp:TemplateField HeaderText="Заявка в">
                <ItemTemplate>
                 ...
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:DropDownList ID="lstInDep" runat ="server" DataSourceID ="SourceDepartment" 
                     DataTextField = "NameR" DataValueField = "Id"  AppendDataBoundItems ="true" OnSelectedIndexChanged='<%# Bind("Id")%>'>
                    </asp:DropDownList>   
                </EditItemTemplate>
                <InsertItemTemplate>
                 ...
                </InsertItemTemplate>
            </asp:TemplateField>


Но в обоих случаях происходит ошибка.
Помогите, пожалуйста, как мне добиться, чтобы в режиме редактирования отображалась правильная запись из выпадающего списка, а самая первая.



Код

<asp:SqlDataSource ID="SourceDepartment" runat="server" 
    ConnectionString="<%$ ConnectionStrings:StatementConnectionString %>" SelectCommand="Select Id, Name, NameR from Department" >
    </asp:SqlDataSource>



Автор: Martin_8 12.11.2009, 23:26
Дайте совет, что не так в коде ?  smile 

Автор: Kosten 13.11.2009, 16:26
Попробуй выставлять нужную запись программно, а не декларативно.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)