gridview не отображается в панели обновления в ASP.NET - PullRequest
2 голосов
/ 03 мая 2011

В настоящее время у меня есть GridView во всплывающем элементе управления. GridView встроен в UpdatePanel, и у меня всплывающее окно ничего не показывает. Однако, когда я отлаживаю его, я вижу, что в GridView есть данные, и он связан, но я не замечаю никаких изменений. Я даже пытался вызвать метод Update на UpdatePanel, но также не получил никаких изменений.

По сути, я хочу показать пустую страницу, пока мои данные не будут загружены. После того, как GridView имеет привязанные к нему данные, я бы хотел, чтобы они были видны. Найдите приведенный ниже фрагмент кода текущего процесса.

Источник ASPX:

<dx:ASPxPopupControl ID="ASPxPopupItem" runat="server" ClientIDMode="AutoID" LoadingPanelImagePosition="Bottom"
    Modal="True" PopupHorizontalAlign="WindowCenter" PopupVerticalAlign="WindowCenter"
    EnableAnimation="False" HeaderText="Item Checker" 
    Width="614px">
    <ContentCollection>
        <dx:PopupControlContentControl ID="PopupCoverageItem" runat="server" SupportsDisabledAttribute="True">
            <table style="width: 611px" cellpadding="3" cellspacing="3">
                <tr>
                    <td align="center">
                        Title
                    </td>
                </tr>
                <tr>
                    <td colspan="2">
                        <div style="height: 75px; overflow: auto; width: 595px;">
                            <asp:UpdatePanel runat="server" ID="udpItems" UpdateMode="Conditional">
                                <ContentTemplate>
                                    <asp:GridView runat="server" ID="gvTitles" Width="575px" AutoGenerateColumns="false">
                                        <Columns>
                                            <asp:TemplateField ItemStyle-HorizontalAlign="Center" HeaderStyle-Width="90px">
                                                <ItemTemplate>
                                                    <center>
                                                        <asp:ImageButton OnClick="btnSelect_Click" ID="lnk_Select" runat="server" CommandArgument='<%# Eval("title") %>'
                                                            ImageUrl="~/images/save.png" ToolTip="Choose this record" />
                                                    </center>
                                                </ItemTemplate>
                                                <HeaderStyle Width="90px"></HeaderStyle>
                                                <ItemStyle HorizontalAlign="Center"></ItemStyle>
                                            </asp:TemplateField>
                                            <asp:BoundField HeaderText="Item ID" DataField="item_id" SortExpression="item_id" />
                                            <asp:BoundField HeaderText="Title" DataField="title" SortExpression="title" />
                                            <asp:BoundField HeaderText="Date" DataField="date" SortExpression="date" />
                                        </Columns>
                                    </asp:GridView>
                                </ContentTemplate>
                            </asp:UpdatePanel>
                        </div>
                    </td>
                </tr>
                <tr>
                    <td align="center">
                        <asp:Button runat="server" ID="btnCancelTitle" Text="Cancel" CssClass="popupButton"
                            OnClick="btnCancelTitle_Click" />
                    </td>
                </tr>
            </table>
        </dx:PopupControlContentControl>
    </ContentCollection>
</dx:ASPxPopupControl>

C # серверная часть:

// Bind the data from the returning SQL query and update
            gv.DataSource = npgDat;
            gv.DataBind();
            udpItems.Update();

К сожалению, я не могу показать намного больше серверной части C #, так как мы используем специфический для компании инструмент Query, который хорошо работает в других ситуациях.

Спасибо

1 Ответ

1 голос
/ 03 мая 2011

Вы уверены, что ASPxPopupControl поддерживает наличие UpdatePanel в качестве содержимого?Я бы попытался избавиться от UpdatePanel и посмотреть, будет ли GridView работать так, как ожидалось тогда, или попробовать переместить UpdatePanelGridView все еще внутри него) за пределы ASPxPopupControl и посмотреть, если этоработает.Если проблема связана с UpdatePanel внутри ASPxPopupControl, то вам, вероятно, придется обратиться к DevExpress за дополнительной помощью, поскольку это заставит меня поверить, что это проблема с их контролем.

Обновление
Исходя из вашего комментария ниже, вы можете посмотреть Пример: Как показать ASPxLoadingPanel во время загрузки содержимого внутри ASPxPopupControl на форуме поддержки DevExpress.

...