RadGrid in MOSS Webpart - AjaxLoadingPanel position

7 posts, 1 answers
  1. Mario
    Mario avatar
    24 posts
    Member since:
    Apr 2009

    Posted 07 Apr 2009 Link to this post

    Hello,

    First an foremost, let me tell you have done an excellent job with this product, is robust, portable and very well architected, im glad to be using them.

    Second, I haven't been able to position my loading indicator correctly, it always appear in the top and the EnableSkinTransparency is not working.

    Im doing the whole job as a server control (no aspx) it is also executed in the OnInit() of the webpart

    Thanks for your support



    #region

     

    Ajax initialization

     

    Page.ClientScript.RegisterStartupScript(

    typeof(ReferralsListWebPart1), this.ID, "_spOriginalFormAction = document.forms[0].action;_spSuppressFormOnSubmitWrapper=true;", true);

     

     

    if (this.Page.Form != null)

     

    {

     

    string formOnSubmitAtt = this.Page.Form.Attributes["onsubmit"];

     

     

    if (!string.IsNullOrEmpty(formOnSubmitAtt) && formOnSubmitAtt == "return _spFormOnSubmitWrapper();")

     

    {

     

    this.Page.Form.Attributes["onsubmit"] = "_spFormOnSubmitWrapper();";

     

    }

    }

     

    RadAjaxPanel panel = new RadAjaxPanel();

     

    panel.ID =

    "RadAjaxPanel1";

     

     

    this.Controls.Add(panel);

     

     

    RadAjaxManager ajaxManager = RadAjaxManager.GetCurrent(this.Page);

     

     

    if (ajaxManager == null)

     

    {

    ajaxManager =

    new RadAjaxManager();

     

    ajaxManager.ID =

    "RadAjaxManager1";

     

    Controls.Add(ajaxManager);

     

    this.Page.Items.Add(typeof(RadAjaxManager), ajaxManager);

     

    }

     

     

     

    RadAjaxLoadingPanel loadingPanel = new RadAjaxLoadingPanel();

     

    loadingPanel.ID =

    "AjaxLoadingPanel1";

     

    loadingPanel.Width =

    Unit.Percentage(100);

     

    loadingPanel.Height =

    Unit.Pixel(400);

     

    loadingPanel.Transparency = 25;

    loadingPanel.EnableSkinTransparency =

    true;

     

     

    AjaxLoadingPanelBackgroundPosition position = new AjaxLoadingPanelBackgroundPosition();

     

    position =

    AjaxLoadingPanelBackgroundPosition.Center;

     

    loadingPanel.BackgroundPosition = position;

     

    Image image = new Image();

     

    image.ID =

    "loadingImage";

     

    image.AlternateText =

    "Loading...";

     

    image.ImageUrl =

    "/_layouts/images/loading.gif";

     

    loadingPanel.Controls.Add(image);

     

    this.Controls.Add(loadingPanel);

     

    panel.LoadingPanelID =

    "AjaxLoadingPanel1";

     

     

    #endregion

  2. Rosen
    Admin
    Rosen avatar
    3234 posts

    Posted 09 Apr 2009 Link to this post

    Hello Mario,

    The EnableSkinTransparency and BackgroundPosition properties are only applicable when RadLoadingPanel 's Skin property is set. Please not that when Skin is set you may need to remove the image control which you have added manually to loading panel's controls collection.

    Greetings,
    Rosen
    the Telerik team

    Check out Telerik Trainer , the state of the art learning tool for Telerik products.

  3. Mario
    Mario avatar
    24 posts
    Member since:
    Apr 2009

    Posted 09 Apr 2009 Link to this post

    Thanks for your response,

    I got know working the transparency, but since I took the image out, I went ahead a look for a property to set the image in the panel, i found .BackImageUrl. I set that one with the loading.gif image path and Im getting multiple background images now

    If I take that off, the single image seams to not be found

    Let me know what im missing,

    Thanks
  4. Answer
    Rosen
    Admin
    Rosen avatar
    3234 posts

    Posted 10 Apr 2009 Link to this post

    Hello Mario,

    When using RadLoadingPanel with skin set the image by default is retrieved from the skin's css. In order to remove this css image you should set  AjaxLoadingPanelBackgroundPosition None. If you want to use the embedded image you should not use an external image.

    If you want to use custom image you should add the image inside panel's controls collection, set the skin to an empty string and use the transparency property of the panel. Please note that in this case you should manually position the image to the center of loading panel.

    Greetings,
    Rosen
    the Telerik team

    Check out Telerik Trainer , the state of the art learning tool for Telerik products.
  5. Mario
    Mario avatar
    24 posts
    Member since:
    Apr 2009

    Posted 10 Apr 2009 Link to this post

    Thanks for the tip,

    I think I'll stick to the default image, but you know whats happening really, the ajaxloadingpanel is working fine in FF, its doing the transparency effect along with the image in the middle, but in IE, seams like is not finding the Image, theres just a blur in the middle of the transparency effect (look like an image not found kind of thing)

    Let me know, what can that be

    Keep im mind im working in a sharepoint webpart

    Thanks
  6. vairam
    vairam avatar
    85 posts
    Member since:
    May 2008

    Posted 30 Jun 2009 Link to this post

    Hi

    I am also having the same problem RadAjaxLoadingPanel loading image is not display .
    theres just a blur in the middle of the transparency effect.
    here is my code

     _LoadingPanel = new RadAjaxLoadingPanel();
     _LoadingPanel.ID = "LoadingPanel";

                    //change the schedular skin               
                        _LoadingPanel.Skin = this.Skin.ToString();
                    //set width and height of the schedular
                    _LoadingPanel.Width = Unit.Pixel(this.CalendarWidth);
                    _LoadingPanel.Height = Unit.Pixel(this.CalendarHeight);

                    _LoadingPanel.Width = Unit.Percentage(100);
                    _LoadingPanel.Height = Unit.Pixel(400);
                    _LoadingPanel.Transparency = 25;
                    _LoadingPanel.EnableSkinTransparency = true;
                    AjaxLoadingPanelBackgroundPosition position = new AjaxLoadingPanelBackgroundPosition();
                    position = AjaxLoadingPanelBackgroundPosition.Center;
                    _LoadingPanel.BackgroundPosition = position;
                    this.Controls.Add(_LoadingPanel);
                    _radAjaxpanel = new RadAjaxPanel();
                    _radAjaxpanelminical = new RadAjaxPanel();
                    _radAjaxpanelminical.EnableAJAX = true;
                    _radAjaxpanel.EnableAJAX = true;
                    _radAjaxpanel.ID = "AjaxPannel";
                    _radScheduler.ID = "radScheduler";
                    _radAjaxpanel.LoadingPanelID = "LoadingPanel";
               _radAjaxpanel.Controls.Add(_radScheduler);

    can you guide me as soon as possible


    Regards
    Vairam

  7. Sebastian
    Admin
    Sebastian avatar
    9934 posts

    Posted 30 Jun 2009 Link to this post

    Hello vairam,

    With skin applied for the RadAjaxLoadingPanel, you do not need these settings:

                   _LoadingPanel.Width = Unit.Pixel(this.CalendarWidth);
                    _LoadingPanel.Height = Unit.Pixel(this.CalendarHeight);

                    _LoadingPanel.Width = Unit.Percentage(100);
                    _LoadingPanel.Height = Unit.Pixel(400);
                    _LoadingPanel.Transparency = 25;
                    _LoadingPanel.EnableSkinTransparency = true;


    since transparency, width/height, etc. will be automatically controlled by the relevant loading panel skin. These are applicable in case you will use your custom image for loading panel.

    Kind regards,
    Sebastian
    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.
Back to Top