В гридвью есть столбец содержащий DropDownList (в режиме редактирования). При выборе определённой строки для редактирования необходимо передать параметр "id строки" в источник данных для DropDownList чтобы он заполнился нужными значениями. Как это сделать? Для этого пытлся использовать "ControlParameter" - неудачно.
<asp:gridview ID="grid_view" runat="server"
DataSourceID="sql_item"
DataKeyNames="id"
AutoGenerateColumns="False">
<Columns>
....
<asp:TemplateField HeaderText="Родитель">
<EditItemTemplate>
<asp:DropDownList runat="server" ID="ddl_parent_name"
DataSourceID="sql_item_parent"
DataTextField="parent_name"
DataValueField="id"
SelectedValue='<%# Bind("id_item_group") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="label_item_parent" runat="server"
Text='<%# Bind("parent_name") %>' />
</ItemTemplate>
</asp:TemplateField>
....
Источники данных:
<asp:SqlDataSource ID="sql_item_parent" runat="server"
ConnectionString="<%$ ConnectionStrings: zeon_connect %>"
SelectCommand="EXEC p_item_parent_list id" OnSelecting="sql_item_parent_Selecting">
<SelectParameters>
<asp:ControlParameter Name="id" ControlID="grid_view" PropertyName="EditIndex" DefaultValue="0" Type="double" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="sql_item" runat="server"
ConnectionString="<%$ ConnectionStrings: zeon_connect %>"
SelectCommand="SELECT id, id_item_group, id_otdel, id_item_type,
item_name, sn, info, ex, parent_name, item_type, otdel_name
FROM v_item ORDER BY otdel_name, item_type, parent_name, item_name"
UpdateCommand="EXEC p_item_update @id,@id_item_group,@id_otdel,@id_item_type,@item_name,@sn,@info,@ex">
<UpdateParameters>
<asp:Parameter Name="id" Type="double" />
<asp:Parameter Name="id_item_group" Type="double" />
<asp:Parameter Name="id_otdel" Type="double" />
<asp:Parameter Name="id_item_type" Type="double" />
<asp:Parameter Name="item_name" Type="string" />
<asp:Parameter Name="sn" Type="string" />
<asp:Parameter Name="info" Type="string" />
<asp:Parameter Name="ex" Type="Boolean" />
</UpdateParameters>
</asp:SqlDataSource>