RadWindow中的RadGrid在网格排序中存在问题

时间:2012-02-27 08:52:15

标签: asp.net telerik

在我的aspx页面中,我有一个RadPageView,它包含RadWindow,而RadGrid在RadWindow中。 (即RadMultiPage - > RadPageView - > RadWindow - > RadGrid)。

  <telerik:RadWindow EnableShadow="true" ShowContentDuringLoad="false" runat="server"
                                        ReloadOnShow="true" Title="Standard Text: Add Observation." OpenerElementID="lnkObservationsText"
                                        Behaviors="None" VisibleStatusbar="false" EnableViewState="true" ID="rdWndObservationText"
                                        Skin="Web20" Modal="true" Width="600">
                                        <ContentTemplate>
                                            <div class="RadModalMainDiv">
                                                <div>
                                                    <p>
                                                        Help text to go here....</p>
                                                </div>
                                                <div class="divStandardTextButtonList">
                                                    <asp:Button ID="btnObservationsTextSelect" runat="server" Text="Select" CssClass="btnStandardText"
                                                        OnClientClick="return ObservationStandardText_Confirm()" />
                                                    <asp:Button ID="btnObservationsTextCancel" runat="server" Text="Cancel" CssClass="btnStandardText" />
                                                </div>
                                                <asp:Panel ID="pnl1" runat="server">
                                                    <div>
                                                        <telerik:RadGrid ID="radGdObservationsText" runat="server" AllowPaging="True" AllowSorting="True"
                                                            AutoGenerateColumns="False" GridLines="None" PageSize="10" Width="100%">
                                                            <MasterTableView CommandItemDisplay="None" Name="ParentGrid">
                                                                <Columns>
                                                                    <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn">
                                                                    </telerik:GridClientSelectColumn>
                                                                    <telerik:GridBoundColumn DataField="description" HeaderText="Observation Description"
                                                                        Visible="true">
                                                                    </telerik:GridBoundColumn>
                                                                </Columns>
                                                            </MasterTableView>
                                                            <PagerStyle Mode="NextPrevAndNumeric" />
                                                            <ClientSettings>
                                                                <Selecting AllowRowSelect="True" />
                                                                <ClientEvents OnRowSelected="SetObservationStandardText" />
                                                            </ClientSettings>
                                                        </telerik:RadGrid>
                                                    </div>
                                                </asp:Panel>
                                            </div>
                                        </ContentTemplate>
                                    </telerik:RadWindow>

当我尝试对网格进行排序时,单击标题,页面刷新并且RadWindow消失。当我重新打开RadGrid排序的行时,排序发生了。我需要抛弃RadGrid并保持相同的状态。 感谢之前的所有帮助。

1 个答案:

答案 0 :(得分:0)

您必须手动重新打开RadWindow才能使其正常工作。我建议你尝试一种更简单的方法。删除OpenerElementID并修改打开RadWindow的按钮和另一个关闭它的按钮,如下所示:

单击打开/关闭窗口按钮的处理程序:

 void lnkObservationsText_Click(object sender, EventArgs e)
 {
     rdWndObservationText.VisibleOnPageLoad = !rdWndObservationText.VisibleOnPageLoad;
 }

单击驻留在RadWindow本身的关闭按钮的处理程序代码

void btnObservationsTextCancel_Click(object sender, EventArgs e)
{
    rdWndObservationText.VisibleOnPageLoad = false;
}

在这种情况下,您不需要使用ReloadOnShow。

希望这会有所帮助。祝你好运:)