У меня есть элемент управления asp DetailsView, который автоматически генерирует поля.
Есть один столбец с идентификатором, который сопоставлен с другой таблицей (внешний ключ).Это отображается в текстовом поле.Я хочу, чтобы этот столбец отображался в виде выпадающего списка, как указано в моем примере кода ниже.Это работает нормально, но во втором столбце все еще отображается текстовое поле с идентификатором.
Мой вопрос: возможно ли использовать автоматическое создание и по-прежнему скрывать столбцы, которые вам не нужны или которые вы хотите изменить?
Я ненавижу писать код для каждого отдельного столбца только потому, что для одного столбца необходимо использовать TemplateField.
DetailsView
<asp:DetailsView ID="DetailsView1" runat="server"
DefaultMode="Edit" DataSourceID="EntityDataSource1"
AutoGenerateEditButton="True" AutoGenerateInsertButton="True">
<Fields>
<asp:TemplateField HeaderText="Authorization">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList2" Runat="server" DataSourceID="EntityDataSource2" CssClass="DropDown"
DataTextField="Name" DataValueField="AuthenticationId" SelectedValue='<%# bind("AuthenticationId") %>'>
</asp:DropDownList>
</EditItemTemplate>
</asp:TemplateField>
<asp
</Fields>
</asp:DetailsView>
DetailsView DataSource:
<asp:EntityDataSource ID="EntityDataSource1" runat="server"
ContextTypeName="EntityNamespace.MyEntity" EnableFlattening="False"
EntitySetName="Routes" Include="Authentication" Where="it.RouteId = @RouteId">
<WhereParameters>
<asp:RouteParameter Type="Int32" RouteKey="RouteId" Name="RouteId" />
</WhereParameters>
</asp:EntityDataSource>
Источник данных выпадающего списка
<asp:EntityDataSource ID="EntityDataSource2" runat="server"
ContextTypeName="EntityNamespace.MyEntity" EnableFlattening="False"
EntitySetName="Authentications">
</asp:EntityDataSource>