This is a migrated thread and some comments may be shown as answers.

postback on a different RadTab

5 Answers 289 Views
Ajax
This is a migrated thread and some comments may be shown as answers.
Steve
Top achievements
Rank 1
Steve asked on 09 Aug 2011, 10:43 PM
I have a RadTabStrip that has to perform some server-side processing where a file streamed into a database and uploaded. I have this working successfully. 

When this processing completes I need to set focus on a different tab in the PageMultiPage and that new tab needs to requery the database and refresh its dislayed contents ... in essence a postback to query the database and display current values in a RadGrid. 

Is there a way to trigger this navigation and postback on the the new tab?  Is there a way to cause a postback when the user changes tabs?

If so, please list code example on how to do this.

Thanks.
 





5 Answers, 1 is accepted

Sort by
0
Dimitar Terziev
Telerik team
answered on 12 Aug 2011, 03:38 PM
Hi Steve,

By default when you set the AutoPostBack property of the RadTabStrip to "True" a post-back occurs when you click on a tab. Also you could use the server-side TabClick event which is fired when you click on a tab.

Greetings,
Dimitar Terziev
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

0
Steve
Top achievements
Rank 1
answered on 13 Aug 2011, 10:34 PM
Thanks
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
 
namespace WebWithTelerik
{
    public partial class MultiTab2 : System.Web.UI.Page
    {
        protected void RadButton1_Click(object sender, EventArgs e)
        {
            Session["CategoryID"] = TextBox1.Text;
        }
    }
}
  this worked -->  AutoPostBack property of the RadTabStrip to "True".

Is there some way to have a server-side event in a tab cause navigation to a different tab? The tabs are 2 seperate aspx pages.

For example, a button click in tab2 should cause focus to go to tab1.

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MultiPage.aspx.cs" Inherits="WebWithTelerik.MultiPage" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
        </telerik:RadScriptManager>
        <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1"
            SelectedIndex="0" AutoPostBack="True">
            <Tabs>
                <telerik:RadTab runat="server" Text="Tab # 1" Owner="RadTabStrip1" Selected="True">
                </telerik:RadTab>
                <telerik:RadTab runat="server" Text="Tab # 2">
                </telerik:RadTab>
            </Tabs>
        </telerik:RadTabStrip>
        <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" Height="800px"
            EnableEmbeddedScripts="true" Width="402px">
            <telerik:RadPageView ID="Tab1" runat="server" ContentUrl="~/MultiTab1.aspx" Height="800px"
                Width="948px">
            </telerik:RadPageView>
            <telerik:RadPageView ID="Tab2" runat="server" ContentUrl="~/MultiTab2.aspx">
            </telerik:RadPageView>
        </telerik:RadMultiPage>
    </div>
    </form>
</body>
</html>

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MultiTab1.aspx.cs" Inherits="WebWithTelerik.MultiTab1" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <div>
        <telerik:RadGrid ID="RadGrid1" runat="server" CellSpacing="0" DataSourceID="SqlDataSource1"
            GridLines="None" OnItemCommand="RadGrid1_ItemCommand" Skin="Forest">
            <MasterTableView AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
                DataSourceID="SqlDataSource1">
                <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
                <RowIndicatorColumn FilterControlAltText="Filter RowIndicator column">
                    <HeaderStyle Width="20px"></HeaderStyle>
                </RowIndicatorColumn>
                <ExpandCollapseColumn FilterControlAltText="Filter ExpandColumn column">
                    <HeaderStyle Width="20px"></HeaderStyle>
                </ExpandCollapseColumn>
                <Columns>
                    <telerik:GridBoundColumn DataField="CategoryName" FilterControlAltText="Filter CategoryName column"
                        HeaderText="CategoryName" SortExpression="CategoryName" UniqueName="CategoryName">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="ProductName" FilterControlAltText="Filter ProductName column"
                        HeaderText="ProductName" SortExpression="ProductName" UniqueName="ProductName">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UnitPrice" DataType="System.Decimal" FilterControlAltText="Filter UnitPrice column"
                        HeaderText="UnitPrice" SortExpression="UnitPrice" UniqueName="UnitPrice">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UnitsInStock" DataType="System.Int16" FilterControlAltText="Filter UnitsInStock column"
                        HeaderText="UnitsInStock" SortExpression="UnitsInStock" UniqueName="UnitsInStock">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn DataField="UnitsOnOrder" DataType="System.Int16" FilterControlAltText="Filter UnitsOnOrder column"
                        HeaderText="UnitsOnOrder" SortExpression="UnitsOnOrder" UniqueName="UnitsOnOrder">
                    </telerik:GridBoundColumn>
                </Columns>
                <EditFormSettings>
                    <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                    </EditColumn>
                </EditFormSettings>
            </MasterTableView>
            <FilterMenu EnableImageSprites="False">
            </FilterMenu>
            <HeaderContextMenu CssClass="GridContextMenu GridContextMenu_Default">
            </HeaderContextMenu>
        </telerik:RadGrid>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
            SelectCommand="SELECT * FROM [Alphabetical list of products] WHERE ([CategoryID] = @CategoryID)">
            <SelectParameters>
                <asp:SessionParameter DefaultValue="1" Name="CategoryID" SessionField="CategoryID"
                    Type="Int32" />
            </SelectParameters>
        </asp:SqlDataSource>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <br />
        <br />
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="MultiTab2.aspx.cs" Inherits="WebWithTelerik.MultiTab2" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager ID="RadScriptManager1" runat="server">
    </telerik:RadScriptManager>
    <div>
        <asp:Label ID="Label1" runat="server" Text="Category Number:"></asp:Label>
          
        <asp:TextBox ID="TextBox1" runat="server">1</asp:TextBox>
        <telerik:RadButton ID="RadButton1" runat="server" OnClick="RadButton1_Click" Text="Click here">
        </telerik:RadButton>
    </div>
    </form>
</body>
</html>
0
shruthi
Top achievements
Rank 1
answered on 18 Aug 2011, 05:43 AM
I have a radtab in a user control
<telerik:RadTabStrip ID="smid" runat="server" MultiPageID="RadMultiPage1" Orientation="VerticalLeft"
                EnableEmbeddedSkins="False" Width="175px" Skin="smSkin" ReorderTabsOnSelect="true"
                OnTabClick="rtbstMain_TabClick" >
                <Tabs>
                    <telerik:RadTab runat="server" Text="tab1" Value="tab1"  >
                    </telerik:RadTab>
...
</tabs></radtab>

i am selecting in code behind of page(which has this usercontrol and many other user controls) using
radtabstrip.tabs[smtabindex].selected=true.

it shows it is selected but it is not highlighted in UI. Please help.
0
Accepted
Peter
Telerik team
answered on 18 Aug 2011, 01:38 PM
Hello,

You can try a client side solution.

MultiTab2.aspx:
<script type="text/javascript">
       function OnClientClicked(sender) {
           top.selectFirstTab();
       }
   </script>
   <div>
       <asp:Label ID="Label1" runat="server" Text="Category Number:"></asp:Label>
       <asp:TextBox ID="TextBox1" runat="server">1</asp:TextBox>
       <telerik:RadButton ID="RadButton1" runat="server" Text="Click here" AutoPostBack="true"
           OnClick="RadButton1_Click" OnClientClicked="OnClientClicked">
       </telerik:RadButton>
   </div>

Default.aspx
<script type="text/javascript">
        function selectFirstTab() {
            var tabstrip = $find('<%=RadTabStrip1.ClientID %>');
            tabstrip.get_allTabs()[0].set_selected(true);
        }
    </script>
    <telerik:RadTabStrip ID="RadTabStrip1" runat="server" MultiPageID="RadMultiPage1"
        SelectedIndex="0" AutoPostBack="True">
        <Tabs>
            <telerik:RadTab runat="server" Text="Tab # 1" Owner="RadTabStrip1" Selected="True">
            </telerik:RadTab>
            <telerik:RadTab runat="server" Text="Tab # 2">
            </telerik:RadTab>
        </Tabs>
    </telerik:RadTabStrip>
    <telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" Height="800px"
        EnableEmbeddedScripts="true" Width="402px">
        <telerik:RadPageView ID="Tab1" runat="server" ContentUrl="MultiTab1.aspx" Height="800px"
            Width="948px">
        </telerik:RadPageView>
        <telerik:RadPageView ID="Tab2" runat="server" ContentUrl="MultiTab2.aspx" >
        </telerik:RadPageView>
    </telerik:RadMultiPage>


Regards,
Peter
the Telerik team

Browse the vast support resources we have to jump start your development with RadControls for ASP.NET AJAX. See how to integrate our AJAX controls seamlessly in SharePoint 2007/2010 visiting our common SharePoint portal.

0
Steve
Top achievements
Rank 1
answered on 19 Aug 2011, 03:12 PM
That worked great.  Thank you.  I just had to make one change ... this script needed to be inside a RadCodeBlock:

        <telerik:RadCodeBlock>

          
          <script type="text/javascript">
                 function selectFirstTab() {
                   var tabstrip = $find('<%=RadTabStrip1.ClientID %>');
                    tabstrip.get_allTabs()[0].set_selected(true);
                 }
            </script>
 
        </telerik:RadCodeBlock>


 


Tags
Ajax
Asked by
Steve
Top achievements
Rank 1
Answers by
Dimitar Terziev
Telerik team
Steve
Top achievements
Rank 1
shruthi
Top achievements
Rank 1
Peter
Telerik team
Share this question
or