Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
85 views
Could you please show some examples of creating a context menu from server side code?

Thanks
Kate
Telerik team
 answered on 20 Jul 2011
1 answer
103 views
Hi Dear
I have project and use rad grid & menu to this project and work well.
but after publish project on windows 2003 server and run in IIS, I can log in and use project
and redirect the other page when i click in radmenu items don't navigate to other page
and go to Default page.

Thanks.

Peter
Telerik team
 answered on 20 Jul 2011
6 answers
99 views
Hi,
I’m using the Rad schedular in one of my pages. I'm using the advancedEditForm with no templates. I have one extra customized attribute called location. The problem I’m have is happening during editing an appointment or insert new one specifically when I click on the combos for "startdate", "starttime", "enddate" or "endtime" I get the following JavaScript error "Error: 'iframeShim.style' is null or not an object" when i debug the error i find it is happening in the following line "b.iframeShim.style.top=(RadHelperUtils.IsDefined(c))?(c+"px"):b.style.top; " within the ScriptResource.axd file
I can't undertand why is this error hapening. The telerik dll version I'm using is 2010.1.519.35. Could you pleae helpmeon this matter.
Thanks,
Nasiem
Peter
Telerik team
 answered on 20 Jul 2011
2 answers
212 views
Is it possible that I export multiple radgrid to multiple excel worksheets? I have for example radGrid1, radGrid2, radGrid3 and I want after export have 3 worksheets in one *.xls file. Please help.

Thanks.
sebastian
Top achievements
Rank 1
 answered on 20 Jul 2011
4 answers
197 views
When using a built-in skin the command icons (edit, delete, etc.) are automatically pulled properly through the WebResource.axd handler.

However, when you change your skin to a custom skin, it just starts using URLs like "delete.gif" and "edit.gif" which of course do not exist in the folder of the user control that contains the grid.

What is the CORRECT way to update the skin so that the command icons are properly displayed based on the images located in the skin's folder?

Thanks,
Kevin
Gail
Top achievements
Rank 1
 answered on 20 Jul 2011
1 answer
87 views
Hi,

This occurs in your guys' demo, as well as in my application. In the demo it seems to be slightly more broken, but nevertheless:

http://demos.telerik.com/aspnet-ajax/dock/examples/autopostback/defaultcs.aspx

If you grab one of those dock's by its title bar and pull it to the RHS of your monitor -- the dock starts pulling the page wider and wider. I would like to restrict dragging to the browser's view port.

How would I go about doing this?

Thanks

Sean
Pero
Telerik team
 answered on 20 Jul 2011
1 answer
96 views
I´m having problem to handle drag docks from dockzones that are not in same content placeholder.
Anyone that could help me out?

Markup:
<%@ Page Title="" Language="C#" MasterPageFile="~/App_master/SiteTwoColumn.master"
    AutoEventWireup="true" CodeFile="EditPageSiteTwoColumn.aspx.cs" Inherits="EditPageSiteTwoColumn" %>
 
<asp:Content ID="Content1" ContentPlaceHolderID="SideBar" runat="Server">
 
    <telerik:RadDockLayout runat="server" ID="RadDockLayout2" Skin="Clear" EnableEmbeddedSkins="false">
        <telerik:RadDockZone runat="server" ID="RadDockZone2" MinHeight="200">
        </telerik:RadDockZone>
    </telerik:RadDockLayout>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server">
    <table style="width: 100%;">
        <tr>
            <td style="width: 140px">
                Select Module:
            </td>
            <td style="width: 140px">
                <asp:DropDownList runat="server" ID="DroptDownWidget" Width="150">
                    <asp:ListItem Text="Blogg.ascx" Value="~/UserControls/Blogg/Blogg.ascx"></asp:ListItem>
                    <asp:ListItem Text="Footer.ascx" Value="~/UserControls/Footer/Footer.ascx"></asp:ListItem>
                </asp:DropDownList>
            </td>
            <td>
            </td>
            <td style="width: 100px">
                <asp:Button runat="server" ID="ButtonPostBack" Text="Make PostBack" OnClick="ButtonPostBack_Click" />
            </td>
        </tr>
        <tr>
            <td>
                Select Docking Zone:
            </td>
            <td>
                <asp:DropDownList ID="DropDownZone" runat="server" DataSource="<%#GetZones() %>"
                    DataTextField="ID" DataValueField="ClientID" Width="150">
                </asp:DropDownList>
            </td>
            <td>
                <asp:Button runat="server" ID="ButtonAddDock" Text="Add Dock (AJAX)" OnClick="ButtonAddDock_Click" />
            </td>
            <td>
                <asp:Button runat="server" ID="ButtonClear" Text="Clear Dock State" OnClick="ButtonClear_Click" />
            </td>
        </tr>
    </table>
    <asp:UpdatePanel runat="server" ID="UpdatePanel2" ChildrenAsTriggers="false" UpdateMode="Conditional">
        <ContentTemplate>
            <br />
            <telerik:RadDockLayout runat="server" ID="RadDockLayout1" OnSaveDockLayout="RadDockLayout1_SaveDockLayout"
                OnLoadDockLayout="RadDockLayout1_LoadDockLayout" Skin="Clear" EnableEmbeddedSkins="false">
                <telerik:RadDockZone runat="server" ID="RadDockZone1" Width="591" MinHeight="200">
                </telerik:RadDockZone>
            </telerik:RadDockLayout>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="ButtonAddDock" EventName="Click" />
        </Triggers>
    </asp:UpdatePanel>
    <div style="width: 0px; height: 0px; overflow: hidden; position: absolute; left: -10000px;">
        Hidden UpdatePanel, which is used to help with saving state when minimizing, moving
        and closing docks. This way the docks state is saved faster (no need to update the
        docking zones).
        <asp:UpdatePanel runat="server" ID="UpdatePanel1">
        </asp:UpdatePanel>
    </div>
</asp:Content>

Code:
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using Telerik.Web.UI;
 
public partial class EditPageSiteTwoColumn : System.Web.UI.Page
{
    private bool _dockStateCleared = false;
    private List<DockState> CurrentDockStates
    {
        get
        {
            //Store the info about the added docks in the session. For real life
            // applications we recommend using database or other storage medium
            // for persisting this information.
            List<DockState> _currentDockStates = (List<DockState>)Session["CurrentDockStatesMyPortal"];
            if (Object.Equals(_currentDockStates, null))
            {
                _currentDockStates = new List<DockState>();
                Session["CurrentDockStatesMyPortal"] = _currentDockStates;
            }
            return _currentDockStates;
        }
        set
        {
            Session["CurrentDockStatesMyPortal"] = value;
        }
    }
 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DropDownZone.DataBind();
        }
    }
 
    public ArrayList GetZones()
    {
        ArrayList zones = new ArrayList();
        zones.Add(RadDockZone1);
        return zones;
    }
 
    protected void Page_Init(object sender, EventArgs e)
    {
        //Recreate the docks in order to ensure their proper operation
        for (int i = 0; i < CurrentDockStates.Count; i++)
        {
            if (CurrentDockStates[i].Closed == false)
            {
                RadDock dock = CreateRadDockFromState(CurrentDockStates[i]);
                //We will just add the RadDock control to the RadDockLayout.
                // You could use any other control for that purpose, just ensure
                // that it is inside the RadDockLayout control.
                // The RadDockLayout control will automatically move the RadDock
                // controls to their corresponding zone in the LoadDockLayout
                // event (see below).
                RadDockLayout1.Controls.Add(dock);
                //We want to save the dock state every time a dock is moved.
                CreateSaveStateTrigger(dock);
                //Load the selected widget
                LoadWidget(dock);
            }
        }
    }
 
    protected void RadDockLayout1_LoadDockLayout(object sender, DockLayoutEventArgs e)
    {
        //Populate the event args with the state information. The RadDockLayout control
        // will automatically move the docks according that information.
        foreach (DockState state in CurrentDockStates)
        {
            e.Positions[state.UniqueName] = state.DockZoneID;
            e.Indices[state.UniqueName] = state.Index;
        }
    }
 
    protected void RadDockLayout1_SaveDockLayout(object sender, DockLayoutEventArgs e)
    {
        if (!_dockStateCleared)
        {
            //Save the dock state in the session. This will enable us
            // to recreate the dock in the next Page_Init.
            CurrentDockStates = RadDockLayout1.GetRegisteredDocksState();
        }
        else
        {
            //the clear state button was clicked, so we refresh the page and start over.
            Response.Redirect(Request.RawUrl, false);
        }
    }
 
    private RadDock CreateRadDockFromState(DockState state)
    {
        RadDock dock = new RadDock();
        dock.DockMode = DockMode.Docked;
        dock.ID = string.Format("RadDock{0}", state.UniqueName);
        dock.ApplyState(state);
        dock.Commands.Add(new DockCloseCommand());
        dock.Commands.Add(new DockExpandCollapseCommand());
 
        return dock;
    }
 
    private RadDock CreateRadDock()
    {
        int docksCount = CurrentDockStates.Count;
 
        RadDock dock = new RadDock();
        dock.DockMode = DockMode.Docked;
        dock.UniqueName = Guid.NewGuid().ToString().Replace("-", "a");
        dock.ID = string.Format("RadDock{0}", dock.UniqueName);
        dock.Title = "Blog module";
        dock.Text = string.Format("Added at {0}", DateTime.Now);
        dock.Width = Unit.Pixel(300);
        dock.Resizable = true;
 
        dock.Commands.Add(new DockCloseCommand());
        dock.Commands.Add(new DockExpandCollapseCommand());
 
        return dock;
    }
 
    private void CreateSaveStateTrigger(RadDock dock)
    {
        //Ensure that the RadDock control will initiate postback
        // when its position changes on the client or any of the commands is clicked.
        //Using the trigger we will "ajaxify" that postback.
        dock.AutoPostBack = true;
        dock.CommandsAutoPostBack = true;
 
        AsyncPostBackTrigger saveStateTrigger = new AsyncPostBackTrigger();
        saveStateTrigger.ControlID = dock.ID;
        saveStateTrigger.EventName = "DockPositionChanged";
        UpdatePanel1.Triggers.Add(saveStateTrigger);
 
        saveStateTrigger = new AsyncPostBackTrigger();
        saveStateTrigger.ControlID = dock.ID;
        saveStateTrigger.EventName = "Command";
        UpdatePanel1.Triggers.Add(saveStateTrigger);
    }
 
    private void LoadWidget(RadDock dock)
    {
        if (string.IsNullOrEmpty(dock.Tag))
        {
            return;
        }
        Control widget = LoadControl(dock.Tag);
        dock.ContentContainer.Controls.Add(widget);
    }
 
 
    protected void ButtonAddDock_Click(object sender, EventArgs e)
    {
        RadDock dock = CreateRadDock();
        //find the target zone and add the new dock there
 
        ContentPlaceHolder mainContent = (ContentPlaceHolder)this.Master.FindControl("MainContent");
        RadDockZone dz = (RadDockZone)FindControl(mainContent.FindControl("UpdatePanel2"), "RadDockZone1");
        if (dz != null)
        {
            dz.Controls.Add(dock);
            CreateSaveStateTrigger(dock);
 
            //Load the selected widget in the RadDock control
            dock.Tag = DroptDownWidget.SelectedValue;
            LoadWidget(dock);
 
            //Add RadDockZoneInfo text
 
        }
    }
    protected void ButtonPostBack_Click(object sender, EventArgs e)
    {
        //normal postback
    }
    protected void ButtonClear_Click(object sender, EventArgs e)
    {
 
        //clear docks state from the session
        CurrentDockStates.Clear();
        _dockStateCleared = true;
    }
 
    private Control FindControl(Control firstLevel, string Id)
    {
 
        if (firstLevel.ID == Id)
 
            return firstLevel;
 
        foreach (Control Ctl in firstLevel.Controls)
        {
 
            Control c = FindControl(Ctl, Id);
 
            if (c != null)
 
                return c;
        }
        return null;
    }
}
Pero
Telerik team
 answered on 20 Jul 2011
2 answers
72 views
on clicking the tab
Message: 'this.get_tableElement()' is null or not an object Line: 1292 Char: 1 Code: 0

i put this user control in a sharepoint page layout.

David
Top achievements
Rank 1
 answered on 20 Jul 2011
4 answers
355 views
Dear Telerik-Staff,

my scenario looks as follows:

I have a masterpage containing a radtreeview inside a radpanel. This tree stores information about data assigned to a specific user. In one of my content pages (which is nested in the masterpage) I perform an operation in which the data assigned to the above called user is updated.

When this operation success I want to update the radtreeview on the masterpage. Thus, I did the following:

1.)
In the method which updates the data on the content page, I call

((RadAjaxManager)this.Master.FindControl("AjaxManagerMasterPage")).RaisePostBackEvent("MyCustomCommand");


2.)
On the masterpage, I have an AjaxManager (NOT a proxy!) which registers the AjaxRequest-Event:
OnAjaxRequest="AjaxManagerMasterPage_AjaxRequest"

3.)
In the code behind file of the master page I handle the event:

protected void AjaxManagerMasterPage_AjaxRequest(object sender, Telerik.Web.UI.AjaxRequestEventArgs e)
        {
            if (e.Argument == "MyCustomCommand")
            {
                //Just an example
                mainPanelBar.Items[5].Text = DateTime.Now.ToLongTimeString();
            }
        }

4.)
In the markup-file of the masterpage I defined the controls to be ajaxyfied as follows:

<telerik:AjaxSetting AjaxControlID="AjaxManagerMasterPage">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="mainPanelBar" />
                        <telerik:AjaxUpdatedControl ControlID="anotherControl" />
                    </UpdatedControls>
                </telerik:AjaxSetting>

The event fires as expected, but the tree view on the masterpage isn't ajaxified (updated). Somewhere in the docs I read tht the AjaxManager can only ajaxify controls beneath itself and that controls on the masterpage cannot be ajaxified.

To me, it looks much more as if I made a mistake in the definition of the updated controls for the RadAjaxManager. Or isn't it possible to ajaxify a control on the masterpage even if the AjaxRequest (fired in the content page) is raised as expected in the master page? For example, when I call Response.Redirect in the AjaxRequest-Event, the page redirects to the specified URL.

Best regards,
Marco


Marco Beyer
Top achievements
Rank 1
 answered on 20 Jul 2011
1 answer
153 views
Hi all,

I have a default page which is ajax enabled. From here I open a report.aspx page which is loaded into a radwindow. The report.aspx page is just a grid with data. When I try and export this data I get the error:

"

Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation


"

I'm not sure why I'm getting this. Can someone please help me find the solution? Code below: Thanks!

Report.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="quick_transaction_popup.aspx.cs" Inherits="OnTime.OnTime_Reports.Visitors.quick_transaction_popup" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
 
<!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="Report_ScriptManager" runat="server" />
 
            <h3>
                <asp:Literal ID="Literal_View1_Title" runat="server" Text="Transactions: Quick Report - "></asp:Literal>
            </h3>
 
                <asp:PlaceHolder ID="PlaceHolder_Report_SQL" runat="server">
                    <asp:SqlDataSource ID="SqlDataSource_Report" runat="server">
                    </asp:SqlDataSource>
                </asp:PlaceHolder>
 
            <telerik:RadGrid ID="RadGrid_Report" runat="server" AutoGenerateColumns="false"
            AllowMultiRowSelection="false" AllowAutomaticInserts="false"
            GridLines="None" CellPadding="0" AllowSorting="false" Skin="Outlook"
            ItemStyle-VerticalAlign="Top"
            OnExcelMLExportRowCreated="RadGrid_Report_ExcelMLExportRowCreated" Width="100%"
            >
 
                <ExportSettings HideStructureColumns="true" ExportOnlyData="true" FileName="Visitor_TQR" OpenInNewWindow="true"
                 IgnorePaging="true">
                    <Excel Format="ExcelML" />
                </ExportSettings>
 
                <MasterTableView Width="100%" CommandItemDisplay="Top" GridLines="None" AllowAutomaticInserts="false">
 
                <CommandItemSettings ShowAddNewRecordButton="false" ShowExportToWordButton="false" ShowExportToExcelButton="true"
                ShowExportToCsvButton="false" ShowRefreshButton="false"/>
                 
                    <Columns>
 
                         <telerik:GridBoundColumn UniqueName="Report_Logs_DateTime" DataField="Visitor_Logs_DateTime"
                         HeaderText="Time" HeaderStyle-Width="33%" Visible="true" ItemStyle-VerticalAlign="Top"/>
 
                         <telerik:GridBoundColumn UniqueName="Report_Transaction_Type" DataField="Function_Key_Description"
                         HeaderText="Transaction Type" HeaderStyle-Width="33%" Visible="true" ItemStyle-VerticalAlign="Top"/>
 
                         <telerik:GridBoundColumn UniqueName="Report_UserName" DataField="Visitor_UserName"
                         HeaderText="Visitor" HeaderStyle-Width="33%" Visible="true" ItemStyle-VerticalAlign="Top"/>
 
                    </Columns>
                </MasterTableView>
                <ClientSettings>
                    <Selecting AllowRowSelect="false" />
                </ClientSettings>
            </telerik:RadGrid>
 
 
     
    </div>
    </form>
</body>
</html>


Report.aspx.cs
protected void Page_Load(object sender, EventArgs e)
        {
            //Register Javascript for Export Buttons
            string script2 = "function onRequestStart(sender, args)" +
                "{" +
                    "if (args.get_eventTarget().indexOf(\"ExportToExcelButton\") >= 0 ||" +
                    "args.get_eventTarget().indexOf(\"ExportToWordButton\") >= 0 ||" +
                    "args.get_eventTarget().indexOf(\"ExportToCsvButton\") >= 0)" +
                "{" +
                    "args.set_enableAjax(false);" +
                "}" +
                "}";
 
            //I've tried commenting and UN-commenting this line with no luck!
            //ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Report_RadGrid_Ajax_Disable", script2, true);
 
            Display_Report_RadGrid();
 
        }
 
        protected void Display_Report_RadGrid()
        {
 
            //Populate Rad Grid
            SqlDataSource_Report = new SQL_Data_Source().getSQLDataSource();
            SqlDataSource_Report.SelectCommandType = SqlDataSourceCommandType.StoredProcedure;
            SqlDataSource_Report.SelectCommand = SQL_Customer_Connection.Product_Name + "_rp_Visitor_TQR";
 
            SqlDataSource_Report.SelectParameters.Add("Param_Customer_ID_Ref", TypeCode.String, (string)Session["User_Belongs_To_Customer_Ref_ID"]);
            SqlDataSource_Report.SelectParameters.Add("Param_Company_ID_Ref", TypeCode.String, (string)Session["User_Belongs_To_Company_Ref_ID"]);
 
            SqlDataSource_Report.SelectParameters.Add("Param_Visitor_Auto_ID_Ref", TypeCode.Int32, "22");
            SqlDataSource_Report.SelectParameters.Add("Param_Transaction_Types", TypeCode.String, "0,1,2,3,4,5,6,7,8");
 
            SqlDataSource_Report.SelectParameters.Add("Param_Start_Date", TypeCode.DateTime, "2011-01-01");
            SqlDataSource_Report.SelectParameters.Add("Param_End_Date", TypeCode.DateTime, "2012-01-01");
 
            RadGrid_Report.DataSource = SqlDataSource_Report;
            RadGrid_Report.Rebind();
        }
 
 
        bool ExcelML_isConfigured = false;
 
        protected void RadGrid_Report_ExcelMLExportRowCreated(object source, GridExportExcelMLRowCreatedArgs e)
        {
            if (e.RowType == GridExportExcelMLRowType.DataRow)
            {
                //Add custom styles to the desired cells
                 
 
                if (!ExcelML_isConfigured)
                {
                    //Set Worksheet name
                    e.Worksheet.Name = "Visitor_TQR";
 
                    //Set Column widths
                    foreach (ColumnElement column in e.Worksheet.Table.Columns)
                    {
                        switch (e.Worksheet.Table.Columns.IndexOf(column))
                        {
                            case 1:
                                column.Width = Unit.Point(100);
                                break;
                            case 2:
                                column.Width = Unit.Point(150);
                                break;
                            case 3:
                                column.Width = Unit.Point(150);
                                break;
                        }
                    }
 
                    //Set Page options
                    PageSetupElement pageSetup = e.Worksheet.WorksheetOptions.PageSetup;
                    pageSetup.PageLayoutElement.IsCenteredVertical = true;
                    pageSetup.PageLayoutElement.IsCenteredHorizontal = true;
                    pageSetup.PageMarginsElement.Left = 0.5;
                    pageSetup.PageMarginsElement.Top = 0.5;
                    pageSetup.PageMarginsElement.Right = 0.5;
                    pageSetup.PageMarginsElement.Bottom = 0.5;
                    //pageSetup.PageLayoutElement.PageOrientation = PageOrientationType.Landscape;
 
                    //Freeze panes
                    e.Worksheet.WorksheetOptions.AllowFreezePanes = true;
                    e.Worksheet.WorksheetOptions.LeftColumnRightPaneNumber = 1;
                    e.Worksheet.WorksheetOptions.TopRowBottomPaneNumber = 1;
                    e.Worksheet.WorksheetOptions.SplitHorizontalOffset = 1;
                    e.Worksheet.WorksheetOptions.SplitVerticalOffest = 1;
 
                    e.Worksheet.WorksheetOptions.ActivePane = 2;
                    ExcelML_isConfigured = true;
                }
            }
        }
Marin Bratanov
Telerik team
 answered on 20 Jul 2011
Narrow your results
Selected tags
Tags
+? more
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Bohdan
Top achievements
Rank 3
Iron
Iron
Iron
Rob
Top achievements
Rank 3
Bronze
Bronze
Iron
Elliot
Top achievements
Rank 1
Iron
Iron
Iron
Sunil
Top achievements
Rank 1
Cynthia
Top achievements
Rank 1
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?