我已经DropDownList
嵌套在GridView
. 如何过滤DropDownList
数据源,仅显示活动的数据库行(列活动作为位类型)或当前选择的值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>