Обновление внешнего выпадающего содержимого при встроенном обновлении gridview - PullRequest
0 голосов
/ 21 января 2019

Я искал это 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>
                                        &nbsp;<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>&nbsp;
                        <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, но оно срабатывает до того, как обновленные данные сохраняются в БД, поэтому выпадающий список получает старые значения.Мне также нужно обновить выпадающий список, если пользователь добавляет или удаляет запись в виде сетки.Как я могу выполнить все это?Спасибо всем

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...