にDropDownList
ネストしましたGridView
。DropDownList
データソースをフィルタリングして、アクティブな db 行 (ビットタイプとしてアクティブな列) または現在選択されている の値のみを表示するにはどうすればよいDropDownList
ですか?
次のコードの一部が機能しない場所。現在の GridView 行データに (マークアップによって) バインドする方法はありますか?
<asp:GridView ID="GridView" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="PlasticTypeId"
DataSourceID="dsPlasticTypes">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:CheckBoxField DataField="Active" HeaderText="Active" SortExpression="Active" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:TemplateField HeaderText="<%$ Resources:Labels, PlasticFamily %>" SortExpression="PlasticFamily.Name">
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("PlasticFamily.Name") %>'/>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="ddlFamilies" runat="server" DataSourceID="dsFamilies" DataValueField="PlasticFamilyId"
DataTextField="Name" SelectedValue='<%# Bind("PlasticFamilyId") %>'/>
<asp:EntityDataSource ID="dsFamilies" runat="server"
ConnectionString="name=PlasticsDbEntities" OrderBy="it.Name"
DefaultContainerName="PlasticsDbEntities" EnableFlattening="False"
EntitySetName="PlasticFamilies"
Where="it.Active==true || it.PlasticFamilyId==@control">
<WhereParameters>
<asp:ControlParameter Name="control" ControlID="ddlFamilies" PropertyName="SelectedValue" Type="Int32" />
</WhereParameters>
</asp:EntityDataSource>
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>