Я искал это matterer, но я нахожу наоборот: ddl обновляет gridview, а не то, что я ищу.У меня есть очень простое представление сетки:
<asp:GridView DataKeyNames="id" ID="grdCantieri" runat="server" AutoGenerateColumns="False" AllowPaging="True" CellPadding="4" DataSourceID="sqlDSCantieri" ForeColor="#333333" GridLines="None" AllowSorting="True" BorderColor="#E1E1E1" BorderStyle="Solid" BorderWidth="3px" CssClass="gridview" PageSize="100">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" Visible="false" />
<asp:BoundField DataField="Descr" HeaderText="Cantiere" SortExpression="Descr" />
<asp:TemplateField ShowHeader="False">
<EditItemTemplate>
<asp:LinkButton ID="lnkAggiornaCant" runat="server" CausesValidation="True"
CommandName="Update" Text="Aggiorna" ForeColor="White"></asp:LinkButton>
<asp:LinkButton ID="lnkAnnullaCant" runat="server" CausesValidation="False"
CommandName="Cancel" Text="Annulla" ForeColor="White"></asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="lnkModificaCant" runat="server" CausesValidation="False"
CommandName="Edit" Text="Modifica" ShowEditButton="True" ></asp:LinkButton>
<asp:LinkButton ID="lnkEliminaCant" runat="server" CausesValidation="False"
CommandName="Delete" Text="Elimina" OnClientClick="return confirm('Questo cantiere verrà eliminato, confermi?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle BackColor="#2461BF" />
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#EFF3FB" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F5F7FB" />
<SortedAscendingHeaderStyle BackColor="#6D95E1" />
<SortedDescendingCellStyle BackColor="#E9EBEF" />
<SortedDescendingHeaderStyle BackColor="#4870BE" />
</asp:GridView>
<asp:SqlDataSource ID="sqlDSCantieri" runat="server" ConnectionString="<%$ ConnectionStrings:dbVirtualTimbConnectionString %>" SelectCommand="SELECT [Descr], [id] FROM [Cantieri] WHERE ([rfCliente] = @rfCliente) ORDER BY [Descr]" DeleteCommand="DELETE FROM [Cantieri] WHERE [id] = @id" InsertCommand="INSERT INTO [Cantieri] ([Descr], [id]) VALUES (@Descr, @id)" UpdateCommand="UPDATE [Cantieri] SET [Descr] = @Descr WHERE [id] = @id">
<DeleteParameters>
<asp:Parameter Name="id" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Descr" Type="String" />
<asp:Parameter Name="id" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:SessionParameter DefaultValue="0" Name="rfCliente" SessionField="rfcliente" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Descr" Type="String" />
<asp:Parameter Name="id" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
И выпадающий список, который показывает элементы этого вида сетки.Я использую раскрывающийся список для фильтрации другого вида сетки.Раскрывающийся список:
<asp:DropDownList runat="server" ID="ddlCantiere" name="ddlCantiere" required="required" AppendDataBoundItems="true" placeholder="Filtra per cantiere" Width="20em" CssClass="ricerca" AutoPostBack="true">
<asp:ListItem Value="-1" Selected="True">Qualsiasi cantiere</asp:ListItem>
<asp:ListItem Value="1">Nessuno</asp:ListItem>
</asp:DropDownList>
Вид сетки позволяет выполнять встроенное редактирование, и я хочу обновить раскрывающийся список, когда пользователь редактирует запись вида сетки.Прямо сейчас это не так.Я попытался использовать свойство RowUpdated для gridview, но оно срабатывает до того, как обновленные данные сохраняются в БД, поэтому выпадающий список получает старые значения.Мне также нужно обновить выпадающий список, если пользователь добавляет или удаляет запись в виде сетки.Как я могу выполнить все это?Спасибо всем