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

Updates on AjaxPanel

1 Answer 67 Views
Window
This is a migrated thread and some comments may be shown as answers.
Ingo Dignas
Top achievements
Rank 1
Ingo Dignas asked on 30 Jun 2009, 08:27 AM
Hi,

 I've a question regarding radajaxpanel and the ajaxmanager. I've used the telerik example RadScheduler with tooltip. I've extended the tooltip with a button. The ClickEvent is implemenet in the main page (code behind - used a deligate in the tooltip control). The Button works fine, but after executing the onclick event I like to update my rategrid1. It works with an updatepanel if I use UpdatePanel2.Update(). But if i use radajaxpanel the rategrid1 doesn't get updated even on rategrid1.rebind(). Also the Button on the bottom of the page, which is enabled=false should be updated. I guess I've to use the ajax manager, but I'm not sure how this works. Maybe you can tell me how to manage the updates.

Here is my new code again:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="ProtelShop._Default" MasterPageFile="~/ProtelShop.Master" %> 
 
<%@ Register assembly="Telerik.OpenAccess, Version=2009.1.405.1, Culture=neutral, PublicKeyToken=7ce17eeaf1d59342" namespace="Telerik.OpenAccess" tagprefix="telerik" %> 
<%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik"  %> 
 
 
 
<%@ Reference Control="~/Controls/ShopBuyTooltip.ascx" %> 
 
 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">  
 
  <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">  
 <AjaxSettings>    
        <telerik:AjaxSetting AjaxControlID="RadGrid1">    
            <UpdatedControls>    
                <telerik:AjaxUpdatedControl ControlID="RadGrid1"  />    
            </UpdatedControls>    
        </telerik:AjaxSetting>    
        <telerik:AjaxSetting AjaxControlID="RadWindowManager1">    
            <UpdatedControls>    
                <telerik:AjaxUpdatedControl ControlID="RadWindowManager1"  />    
            </UpdatedControls>    
        </telerik:AjaxSetting>    
 
    </AjaxSettings>   
    </telerik:RadAjaxManager> 
 
    <div> 
      
    </div> 
    <telerik:RadScriptManager ID="RadScriptManager1" Runat="server">  
      
    </telerik:RadScriptManager> 
       
    <telerik:RadWindowManager runat="server" ID="RadWindowManager1">  
    </telerik:RadWindowManager> 
    <script type="text/javascript">  
 
        //<![CDATA[
       
            function hideActiveToolTip()
            {            
                var controller = Telerik.Web.UI.RadToolTipController.getInstance();
                var tooltip = controller.get_activeToolTip();
                if (tooltip)
                {
                    tooltip.hide();
                }
            }
            
            Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandler);
            function beginRequestHandler(sender, args)
            {
                var prm = Sys.WebForms.PageRequestManager.getInstance();
                if (args.get_postBackElement().id.indexOf('RadScheduler1') != -1)
                {
                    hideActiveToolTip();
                }
            }
            
            function clientBeforeShow (sender, eventArgs) {
             w = $telerik.$(window).width() / 2;
             h = $telerik.$(window).height() / 2;
               
             if ((sender._mouseX > w) && (sender._mouseY > h)) {
             sender.set_position(Telerik.Web.UI.ToolTipPosition.TopLeft);
             return;
             }
             if ((sender._mouseX < w) && (sender._mouseY > h)) {
             sender.set_position(Telerik.Web.UI.ToolTipPosition.TopRight);
             return;
             }
             if ((sender._mouseX > w) && (sender._mouseY < h)) {
             sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomLeft);
             return;
             }
         sender.set_position(Telerik.Web.UI.ToolTipPosition.BottomRight);
            }
        //]]> 
        </script> 
    <telerik:OpenAccessDataSource ID="OpenAccessDataSource1" runat="server"   
        ObjectContextProvider="ProtelShop.ObjectScopeProvider1, ProtelShop"   
        TypeName="ProtelAccess.Article" ContextTypeName="" OrderBy=""   
        Where="MaxAnz &gt; 0" > 
    </telerik:OpenAccessDataSource> 
       
<telerik:RadSkinManager ID="RadSkinManager1" runat="server">          
        </telerik:RadSkinManager> 
        <telerik:RadFormDecorator ID="RadFormDecorator1" runat="server"  DecoratedControls="All"/>  
     
                    
                  <asp:Panel ID="Panel2" runat="server" CssClass="title" > 
                   Seminar Angebote  
               </asp:Panel> 
             
               <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" > 
    <telerik:RadScheduler ID="RadScheduler1" runat="server" DataEndField="EndTime"   
        DataKeyField="ArtNr" DataSourceID="OpenAccessDataSource1"   
        DataStartField="StartTime" DataSubjectField="Name" HoursPanelTimeFormat="htt"   
        ValidationGroup="RadScheduler1"  ReadOnly="true"  SelectedView="MonthView" Height="350">  
    </telerik:RadScheduler> 
    <telerik:RadToolTipManager runat="server" ID="RadToolTipManager1" Width="320" Height="170" 
                    Animation="None" HideEvent="LeaveToolTip" Text="Loading..." 
                    OnAjaxUpdate="RadToolTipManager1_AjaxUpdate" OnClientBeforeShow="clientBeforeShow" /> 
                      
                    </telerik:RadAjaxPanel> 
                   <br /> 
         
 
 
      
            <telerik:RadAjaxPanel ID="RadAjaxPanel2" runat="server" > 
      
           <br /> 
               <asp:Panel ID="Panel1" runat="server" CssClass="title">  
                   Warenkorb  
               </asp:Panel> 
           <telerik:RadGrid ID="RadGrid1" runat="server" AllowAutomaticDeletes="true"   
                    AllowAutomaticUpdates="true" AutoGenerateColumns="true"   
                    AutoGenerateDeleteColumn="true" OnDeleteCommand="RadGrid1_DeleteCommand"  OnItemDataBound="RadGrid1_ItemDataBound" > 
                    <MasterTableView AutoGenerateColumns="False" RetrieveAllDataFields="false" ShowFooter="true">  
                        <Columns> 
                            <telerik:GridBoundColumn DataField="ArtNr" HeaderText="Artikelnummer">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="Name" HeaderText="Artikelname">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="ArtName" HeaderText="Artikelbeschreibung">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="StartTime" HeaderText="Start">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="EndTime" HeaderText="Ende">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="Quantity" HeaderText="Anzahl">  
                            </telerik:GridBoundColumn> 
                            <telerik:GridBoundColumn DataField="ArtPrice" HeaderText="Preis" DataFormatString="{0:C}">  
                            </telerik:GridBoundColumn> 
                             
 
                        </Columns> 
                          
                    </MasterTableView> 
                </telerik:RadGrid> 
     
        </telerik:RadAjaxPanel> 
        <br /> 
 
    <telerik:RadAjaxPanel ID="RadAjaxPanel3" runat="server" > 
    
        <div style="text-align:right">  
    <asp:Button ID="Button1" runat="server" Text="Zur Kasse" onclick="Button1_Click" Width="100px"  /> 
    </div> 
      </telerik:RadAjaxPanel> 
 
      
 </asp:Content> 


  private void btbuy_clicked(object sender, EventArgs e)  
        {  
            AppointmentToolTip mytooltip = (AppointmentToolTip)sender;  
            TempOrder myOrder = new TempOrder();  
            int ArtID = int.Parse(mytooltip.TargetAppointment.ID.ToString());  
            int ct = 0;  
            for (int a = 0; a < myOrders.Count; a++)  
            {  
                TempOrder to = (TempOrder)myOrders[a];  
                if (to.ArtNr == ArtID)  
                    ct++;  
 
            }  
 
              
            var articlesselected = from a in cashedScope.Extent<Article>()  
                                   where a.ArtNr == ArtID  
                                   select a;  
 
              
            cashedScope.Transaction.Begin();  
 
            foreach (Article art in articlesselected)  
            {  
                if (ct + 1 > art.MaxAnz)  
                {  
 
                    string scriptstring = "radalert('<h4>Dieser Artikel ist leider nicht mehr verfügbar!</h4>', 330, 210);";    
                    ScriptManager.RegisterStartupScript(thisthis.GetType(), "radalert", scriptstring, true);    
                    return;  
                }  
                myOrder.setArticle(1, art);  
            }  
 
            cashedScope.Transaction.Commit();  
            myOrders.Add(myOrder);  
            Session["myOrders"] = myOrders;  
            if (myOrders.Count > 0)  
            {  
                Button1.Enabled = true;  
        
            }  
            TAmount += myOrder.ArtPrice;  
 
            RadGrid1.Rebind();  
            
        } 

Thanks

1 Answer, 1 is accepted

Sort by
0
Pavlina
Telerik team
answered on 30 Jun 2009, 04:26 PM
Hi Joerg,

We do not recommend usage of RadAjaxManager and RadAjaxPanel together in one page. There are some known issues when using both the manager and the panel in some complex applications. 
More information is available in this help articles:
Ajax Manager
RadAjax and MasterPage

All the best,
Pavlina
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Check out the tips for optimizing your support resource searches.
Tags
Window
Asked by
Ingo Dignas
Top achievements
Rank 1
Answers by
Pavlina
Telerik team
Share this question
or