как установить вкладку index radmultipage, когда постбэк происходит динамически? - PullRequest
0 голосов
/ 31 августа 2011

Код

<telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1" OnTabClick="RadTabScript1_TabClick" OnClientTabSelecting="onTabSelecting" >  <%-- OnClientTabSelecting="onTabSelecting"> --%>
    <Tabs>
        <telerik:RadTab Text="Resources" runat="server" TabIndex="0" Selected="true" PageViewID="radPageResources"></telerik:RadTab>
        <telerik:RadTab Text="Tasks" runat="server" TabIndex="1" PageViewID="radPageTasks"></telerik:RadTab>
        <telerik:RadTab Text="Messages" runat="server" TabIndex="2" PageViewID="radPageMessages"></telerik:RadTab>
        <telerik:RadTab Text="Files" runat="server" TabIndex="3" PageViewID="radPageFiles"></telerik:RadTab>
        <telerik:RadTab Text="Feedback" runat="server" TabIndex="4" PageViewID="radPageFeedback"></telerik:RadTab>
    </Tabs>
</telerik:RadTabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" OnPageViewCreated="RadMultiPage1_PageViewCreated" SelectedIndex="0" >  <%--  RenderSelectedPageOnly="true"  >  --%>
<telerik:RadPageView ID="radPageResources" runat="server" TabIndex="0">
<telerik:RadGrid runat="server" ID="grdResource" PageSize="5" Skin="Default" AllowPaging="True"
    AllowSorting="true" ShowFooter="true" AutoGenerateColumns="False" Width="97%"
    OnItemCreated="grdResource_ItemCreated" OnNeedDataSource="grdResource_NeedDataSource"
    OnDeleteCommand="grdResource_DeleteCommand" ShowStatusBar="True" GridLines="None"
    OnItemDataBound="grdResource_ItemDataBound">
</telerik:RadGrid>

Таким образом, у меня есть 4 вкладки просмотра страниц с индексами, и каждая вкладка просмотра страниц содержит сетку. Если предположить, что я внес изменения в некоторую x-grid и вызывает обратную передачу, то мне нужно, чтобы x-grid отображался после обратной передачи. Но я показывал Resourcegrid.

* 1009 отделенный код *

protected void RadMultiPage1_PageViewCreated(object sender, RadMultiPageEventArgs e)
{ 
    RadMultiPage1.SelectedIndex = e.PageView.TabIndex;
}

но это событие не срабатывает ни в коем случае.
так как я могу вернуться к предыдущей сетке, даже если происходит обратная передача?

Ответы [ 2 ]

1 голос
/ 02 сентября 2011

попробуйте установить выбранный индекс в page_prerender.

protected void Page_PreRender(object sender, EventArgs e)
{

        //RadTab t1 = new RadTab();
        //RadMultiPage m1 = new RadMultiPage();
        m1.SelectedIndex = t1.SelectedIndex;
}
0 голосов
/ 29 июля 2017

я не знаю, моё решение может быть полезным для этой темы или нет, я перепробовал все методы и, наконец, нашел себе метод,

я предлагаю, если ваша проблема не решена, создайте функцию сценария java и затем вызовите еекод моего образца:

   function OnClientClick1(i) {

        var tabstrip1 = $find("<%=RadTabStrip1.ClientID %>");

            tabstrip1.set_selectedIndex(1);

    }

, а затем создайте в своем коде функцию для вызова

 private void ChangeTab(int index)
    {
        string scriptyKey = "Alert" + Guid.NewGuid().ToString().Replace("-", "_");
        ScriptManager.RegisterStartupScript(Page, Page.GetType(), scriptyKey, "OnClientClick1("+index.ToString()+");", true);

    }

Надеюсь, будет полезным

...