Telerik Forums
UI for ASP.NET AJAX Forum
1 answer
237 views
Hello,
I have been trying to improve performance of my page that has aTelerik tabstrip with 8 tabs and many user controls under each tab.
I read that having multiple pageviews can be a performance drag and so have been trying to dynamically create radtabs,  associate radpageviews and load usercontrols on each tab as they are created.Everything is "working" fine, but as I am trying to improve the performance of the tabs, I find that this scenario -
-I have programatically created 5 tabs - Tab1 , Tab2, Tab 3, Tab 4, Tab5 .On page load, there is only one radpageview with unique ID, pageView_Tab1 created initially for Tab1. Everything loads fine, no issues.
-But when I click on Tab2 , control goes into creating pageView_Tab1 again. Then it creates pageView_Tab2.
-Similar behavior follows as I click on subsequent tabs. E.g, Clicking on Tab3 creates pageView_Tab1, pageView_Tab2 and then creates PageView_Tab3.
This behavior is very strange , as it keep reloading the pageviews for already loaded tabs- hence no performance increase. Infact, I added code to keep track of already loaded tabs and not re-load it. But tabs show blank. Any help is greatly appreciated.

Code is below-

<telerik:RadAjaxLoadingPanel runat="server" ID="LoadingPanel1"> </telerik:RadAjaxLoadingPanel>

<telerik:RadAjaxManager runat="server" ID="RadAjaxManager1" OnAjaxRequest="RadAjaxManager1_AjaxRequest">

<AjaxSettings>

<telerik:AjaxSetting AjaxControlID="tabMain">

<UpdatedControls>
<
telerik:AjaxUpdatedControl ControlID="tabMain"></telerik:AjaxUpdatedControl>

<telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1">

</telerik:AjaxUpdatedControl>

</UpdatedControls>

</telerik:AjaxSetting>

<telerik:AjaxSetting AjaxControlID="RadMultiPage1">

 

<UpdatedControls>

 

<telerik:AjaxUpdatedControl ControlID="RadMultiPage1" LoadingPanelID="LoadingPanel1">

 

</telerik:AjaxUpdatedControl>

 

</UpdatedControls>

 

</telerik:AjaxSetting>

 

</AjaxSettings>

 

</telerik:RadAjaxManager><telerik:RadTabStrip ID="tabMain" runat="server" SelectedIndex="0" onTabClick="tabMain_SelectedTabChanged" MultiPageID="RadMultiPage1" OnClientTabSelecting="onTabSelecting" Orientation="HorizontalTop"></telerik:RadTabStrip>

<telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" OnPageViewCreated="RadMultiPage1_PageViewCreated"> </telerik:RadMultiPage>

---codebehind-----------

 

   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not Page.IsPostBack Then
            AddTab("Tab1")
            AddPageView("Tab2")
            AddTab("Tab3"
            AddTab("Tab4"
            AddTab("Tab5"
end if

end sub

  Private Sub AddTab(ByVal tabName As String)
        Dim tab As RadTab = New RadTab
        tab.Text = tabName
        tabMain.Tabs.Add(tab)
    End Sub

Protected Sub RadMultiPage1_PageViewCreated(ByVal sender As Object, ByVal e As RadMultiPageEventArgs) Handles RadMultiPage1.PageViewCreated

        Dim userControlName As String = "\CompanyDetails\" & e.PageView.ID & "_Tab.ascx"
        Dim userControl As Control = Page.LoadControl(userControlName)
        userControl.ID = e.PageView.ID & "_userControl"
 e.PageView.Controls.Add(userControl)
        RadMultiPage1.FindPageViewByID(e.PageView.ID).Selected = True
End Sub

Protected Sub tabMain_SelectedTabChanged(ByVal sender As Object, ByVal e As RadTabStripEventArgs) Handles tabMain.TabClick
        AddPageView(e.Tab.Text)
        e.Tab.PageView.Selected = True
End Sub

  Private Sub AddPageView(ByVal pageViewID As String)
        If RadMultiPage1.FindPageViewByID(pageViewID) Is Nothing Then
            Dim pageView As New RadPageView()
            pageView.ID = pageViewID.Replace(" ", "") '"RadMultiPage1" '
            RadMultiPage1.PageViews.Add(pageView)
            pageView.Selected = True
        End If
      
    End Sub

Kate
Telerik team
 answered on 02 Jul 2013
0 answers
75 views
Hi,

        I am using radcombobox with check box. I have enabled AllowCustomText="true". This allows me to enter custom text but once when i select(checked) new item custom text values get cleared. Only Checked items value are appeared in the combobox textbox. My requirement is to add the selected values with the custom text of the combo box.

Thanks
Dhamodharan
Top achievements
Rank 1
 asked on 02 Jul 2013
2 answers
75 views
i'm using RadMenu with huge data and using scroll on it by EnableRootItemScroll="true".
i want to set width of control = percentage not fixed width  px and doesn't affect of EnableRootItemScroll.
or i want set width of control after page load by javascript.
thanks
Ahmed
Top achievements
Rank 1
 answered on 02 Jul 2013
1 answer
85 views
I am pretty new to telerik I am playing around with this for last 2 days. I need your help.  I have a grid with Templatecolumns which have text boxes as their edititem there are about 12 such columns. When I edit one cell of a row the cells on its left  need to be updated. 

I used changeevent of the textbox to capture the item. Not sure if that is the right approach.I 
I coudl get the rowindex of the cell being edited, how do I fidn the column being edited. 

TIA
Angel Petrov
Telerik team
 answered on 02 Jul 2013
3 answers
141 views
Hi, I'm an ICT manager in the World Health Organization. We haven't directly purchased the Telerik Scheduler control but another company (ESI) has used it in implementing a project for us. It's pretty good in some respects, but the recurrence rule parsing has more holes than Swiss cheese! In searching through your forums I can see some of them have been reported to you and apparently you haven't done anything about them. For example, events scheduled to recur once every second week recur once a week instead. This has been reported to you twice:

http://www.telerik.com/community/forums/aspnet-ajax/scheduler/bi-weekly-recurrence-not-working-correctly-using-expandrecurrence-function.aspx
http://www.telerik.com/community/forums/aspnet-ajax/scheduler/error-while-using-expandrecurrence-function-from-production-sql-server.aspx

But you redirected those threads to another thread that addresses a completely different issue, here:

http://www.telerik.com/community/forums/aspnet-ajax/scheduler/recurrencerule-and-timezoneoffset.aspx

Anybody looking to do a serious number of recurrences with your software will be very disappointed. Sometimes recurrences show up in the day view but not the week and month view, or visa versa...

My recommendation: in addition putting some work into fixing the many problems with recurrence parsing, I recommend that you disable the "no end date" option to force users to choose either an end date or a number of occurrences, then save a separate database entry for each occurrence, linking them with a recurrence ID. Your competitors do this with much better results.
Plamen
Telerik team
 answered on 02 Jul 2013
2 answers
91 views

Hi,

Using VS 2010 with RadControls for ASP.NET AJAX Q1 2013 SP2.

Possible after Export i.e. Radbutton (ExportToExcel) inside CommandItemTemplate, automatically Rebind the Grid and Select the 1st row in current page?

Example: Refer to attached, prior to exporting to Excel, Row with Order id 10276, Customer Id TORTU is selected.

I would like immediately after Export, row with Order Id 10269 with CustomerID WHITC from current page ( (i.e. page# 2 of entire Grid) will be automatically selected.
 
Below is my Grid Declaration as well as code.

Thanks

gc_0620
______

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <telerik:RadAjaxManagerProxy ID="RadAjaxManagerProxy1" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManagerProxy>
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" Width="43%" Height="16px">
    </telerik:RadAjaxPanel>
    <asp:ValidationSummary ID="ValidationSummary1" ShowMessageBox="true" ShowSummary="false"
        runat="server" />
    <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
    </telerik:RadCodeBlock>
    <br />
    <telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="True" AllowPaging="True"
        AllowSorting="True" CellSpacing="0" AllowAutomaticUpdates="true" AllowAutomaticInserts="true"
        OnItemDataBound="RadGrid1_ItemDataBound" OnPreRender="RadGrid1_PreRender" DataSourceID="LinqDataSource1"
        GridLines="None" Skin="Office2010Silver" AutoGenerateEditColumn="True">
        <ClientSettings>
            <Selecting AllowRowSelect="True" />
        </ClientSettings>
        <MasterTableView AutoGenerateColumns="False" CommandItemDisplay="Top" DataSourceID="LinqDataSource1"
            DataKeyNames="OrderID">
            <CommandItemSettings ExportToPdfText="Export to PDF"></CommandItemSettings>
            <RowIndicatorColumn Visible="True" FilterControlAltText="Filter RowIndicator column">
                <HeaderStyle Width="20px"></HeaderStyle>
            </RowIndicatorColumn>
            <ExpandCollapseColumn Visible="True" FilterControlAltText="Filter ExpandColumn column">
                <HeaderStyle Width="20px"></HeaderStyle>
            </ExpandCollapseColumn>
            <Columns>
                <telerik:GridBoundColumn DataField="OrderID" DataType="System.Int32" FilterControlAltText="Filter OrderID column"
                    HeaderText="OrderID" ReadOnly="True" SortExpression="OrderID" UniqueName="OrderID">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="CustomerID" FilterControlAltText="Filter CustomerID column"
                    HeaderText="CustomerID" ReadOnly="True" SortExpression="CustomerID" UniqueName="CustomerID">
                </telerik:GridBoundColumn>
                <telerik:GridBoundColumn DataField="EmployeeID" DataType="System.Int32" FilterControlAltText="Filter EmployeeID column"
                    HeaderText="EmployeeID" ReadOnly="True" SortExpression="EmployeeID" UniqueName="EmployeeID">
                </telerik:GridBoundColumn>
            </Columns>
            <EditFormSettings>
                <EditColumn FilterControlAltText="Filter EditCommandColumn column">
                </EditColumn>
            </EditFormSettings>
            <PagerStyle PageSizeControlType="RadComboBox"></PagerStyle>
            <CommandItemTemplate>
                <table align="right">
                    <tr>
                        <td>
                            <asp:CheckBox ID="CheckBox2" Text="Ignore paging (exports all pages)" runat="server">
                            </asp:CheckBox>
                        </td>
                        <td>
                            <telerik:RadButton ID="ExportToExcel" runat="server" Text="Excel Export" Skin="Office2010Silver"
                                ToggleType="CustomToggle" ForeColor="#009900" ButtonType="LinkButton" OnClick="Button_Export_To_Excel_Click">
                            </telerik:RadButton>
                        </td>
                        <td>
                            <telerik:RadButton ID="RadButtonAdd" runat="server" Text="New" ButtonType="LinkButton"
                                Skin="Office2010Silver" ToggleType="CustomToggle" ForeColor="#009900" CommandName="InitInsert">
                            </telerik:RadButton>
                        </td>
                        <td>
                            <telerik:RadButton ID="RadButtonRefresh" runat="server" Text="Refresh Grid" ButtonType="LinkButton"
                                CommandName="Rebind" Skin="Office2010Silver" ToggleType="CustomToggle" ForeColor="#009900">
                            </telerik:RadButton>
                        </td>
                    </tr>
                </table>
            </CommandItemTemplate>
        </MasterTableView>
        <PagerStyle PageSizeControlType="RadComboBox"></PagerStyle>
        <FilterMenu EnableImageSprites="False">
        </FilterMenu>
    </telerik:RadGrid>
    <asp:LinqDataSource ID="LinqDataSource1" runat="server" ContextTypeName="DataClassesDataContext"
        EntityTypeName="" Select="new (OrderID, CustomerID, EmployeeID)"
        TableName="Orders" EnableDelete="True" EnableInsert="True" EnableUpdate="True"
        Where="OrderID <= @OrderID">
        <WhereParameters>
            <asp:Parameter DefaultValue="10285" Name="OrderID" Type="Int32" />
        </WhereParameters>
    </asp:LinqDataSource>
    <br />
</asp:Content>

protected void SetGridSettings()
    {
        GridSettingsPersister LoadPersister = new GridSettingsPersister(RadGrid1);
 
        if (Session["qa_home_filter"] == null)
        {
        }
        else
        {
            string settings = (string)Session["qa_home_filter"];
 
            LoadPersister.LoadSettings(settings);
        }
    }
     
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // BOM to Create/Maintain Current Filter Settings
            SetGridSettings();
            // BOM to Create/Maintain Current Filter Settings
 
            // BOM to Retrieve Page Index after call back from another page
            int CurrentPageIndex = 0;
             
            if (Session["DefaultCurrentPageIndex"] != null)
            {
                int.TryParse(Convert.ToString(Session["DefaultCurrentPageIndex"]), out CurrentPageIndex);
                Session["DefaultCurrentPageIndex"] = null;
            }
 
            RadGrid1.CurrentPageIndex = CurrentPageIndex;
 
           
        }
    }
 
    protected void RadGrid1_PreRender(object sender, EventArgs e)
    {
        GridSettingsPersister SavePersister = new GridSettingsPersister(RadGrid1);
        Session["qa_home_filter"] = SavePersister.SaveSettings();
        
        if (!isSelected && Session["selIndex"] != null && Session["SessionOrderid"] == null)
        //if (!isSelected && Session["selIndex"] != null)
        {
            RadGrid1.MasterTableView.Items[(int)Session["selIndex"]].Selected = true;
            Session["selIndex"] = null;
        }
        else if (!isSelected && Session["SessionOrderid"] == null && RadGrid1.MasterTableView.Items.Count > 0)
        {
            RadGrid1.MasterTableView.Items[0].Selected = true;
            //Panelotherinfo.Visible = true;
        }
        else if (!isSelected && (Session["SessionOrderid"] != null))
        {
            string curItem = Session["SessionOrderid"].ToString();
            foreach (GridItem item in RadGrid1.MasterTableView.Items)
            {
                if (item is GridDataItem)
                {
                    GridDataItem dataItem = (GridDataItem)item;
 
                    if (curItem.Equals(dataItem.OwnerTableView.DataKeyValues[dataItem.ItemIndex]["OrderID"].ToString()))
                    {
                        dataItem.Selected = true;
                        break;
                    }
                }
            }
              
            Session["SessionOrderid"] = null;
        }
 
        isSelected = false;
 
        if (rowindex > -1)
        {
            GridDataItem item = RadGrid1.Items[rowindex];
 
            item.Selected = true;
 
            rowindex = -1;
        }
    }
 
   
    bool isSelected;
    int rowindex = -1;
 
    protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e)
    {
        if (e.Item is GridEditableItem && e.Item.IsInEditMode) // Common for all: Insert/Edit/Preview in Main Client
        {
            if (!e.Item.OwnerTableView.IsItemInserted)
            {
                Session["selIndex"] = e.Item.ItemIndex;
            }
            e.Item.Selected = true;
            isSelected = true;
        }
    }
   
    protected void Button_Export_To_Excel_Click(object sender, System.EventArgs e)
    {
        ConfigureExport();
        RadGrid1.Rebind();
     
        RadGrid1.ExportSettings.Excel.Format = GridExcelExportFormat.Biff;
 
        //RadGrid1.MasterTableView.ExportToExcel();
 
        RadGrid1.MasterTableView.ExportToExcel();
    }
 
    public void ConfigureExport()
    {
        foreach (GridFilteringItem filter in RadGrid1.MasterTableView.GetItems(GridItemType.FilteringItem))
        {
            filter.Display = false;
        }
        RadGrid1.ExportSettings.ExportOnlyData = true;
 
        RadGrid1.ExportSettings.OpenInNewWindow = true;
 
        GridItem commandItem = RadGrid1.MasterTableView.GetItems(GridItemType.CommandItem)[0];
        CheckBox Check_Box2 = (CheckBox)commandItem.FindControl("CheckBox2");
 
        if (Check_Box2.Checked)
            RadGrid1.AllowPaging = false;
        else
            RadGrid1.AllowPaging = true;
    }


Daniel
Telerik team
 answered on 02 Jul 2013
5 answers
212 views
I have a bound hidden control in a RadGrid that contains a BidID field.  During the InsertCommand event, I want to set the value of this hidden control.  I'm new to Telerik and for the life of me, I just can't figure this out.  

The closest thing I could come up with was this but it's not correct.  How do I access the value of a bound control, before the insert command is sent to SQL Server, and set a value?

Dim row As GridDataInsertItem = DirectCast(e.Item, GridDataItem)
        row.Item("BidID").Text = intBidID

Jayesh Goyani
Top achievements
Rank 2
 answered on 02 Jul 2013
4 answers
266 views
We have just upgraded the Telerik Ajax tools in the current version of our software to Q1 2013 from Q3 2010. We are pleased to note the improvement in the Async Uploader around chunking.

We see that the new properties are "DisableChunkUpload" and "ChunkSize". Does this mean that the older version we had was chunking at some chunk size we couldn't control? Or was it not chunking and there's been a change in default behavior between versions?
 
Can you explicitly state the behavior of RadAsyncUpload in Q3 2010 (chunking/non-chunking, if chunking then chunk size), so that we can have a record of the way our previous versions behaved? We can no longer find documentation for the old version.

--Christina
Hristo Valyavicharski
Telerik team
 answered on 02 Jul 2013
1 answer
68 views
Hi Team,

I am trying to export RadGrid data to PDF and using ExportToPdf method for the same.
But, ExportToPdf is not including the column headers in PDF Report when
- RadGrid's AutoGenerateColumns = "true"
- RadGrid is not having GridDataBoundColumn

Code Snippet:
<telerik:RadGrid ID="radABCReportGrid" runat="server" Width="100%" AutoGenerateColumns="true" Skin="Default" Visible="true" BackColor="White">
<ExportSettings ExportOnlyData="True" IgnorePaging="True" OpenInNewWindow="true">
<Csv ColumnDelimiter="VerticalBar" RowDelimiter="Comma" EncloseDataWithQuotes="true" />
<Pdf PageHeight="210mm" PageWidth="297mm" DefaultFontFamily="Arial Unicode MS" PageBottomMargin="10mm" PageTopMargin="10mm" PageLeftMargin="10mm" PageRightMargin="10mm"></Pdf>
</ExportSettings>
</telerik:RadGrid>

NOTE: ExportToExcel works for the same with same properties.

Telerik: Telerik.Web.UI.dll , Vesion: 2011.1.413.40
Princy
Top achievements
Rank 2
 answered on 02 Jul 2013
1 answer
87 views
Hi,

I want to programm a hierachical grid with vb.net code (not asp.net code)

it should be like in the telerik example (see attachment)

I need a main grid (first datasource)
first tab (second datasource)
second tab (third datasource)

The databinding scenario is like this

MasterTableView
Detaitable with first tab
radgrid2
     radgrid2 should have detail table binded with datasource1.
second tab
     radgrid2 should have  detail table binded with dataSource2

Hope anybody could give me an example project


Manuel
Jayesh Goyani
Top achievements
Rank 2
 answered on 02 Jul 2013
Narrow your results
Selected tags
Tags
+? more
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Iron
Andrey
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Ambisoft
Top achievements
Rank 2
Iron
Pascal
Top achievements
Rank 2
Iron
Matthew
Top achievements
Rank 1
Sergii
Top achievements
Rank 1
Iron
Iron
Andrey
Top achievements
Rank 1
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?