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

[Solved] JavaScript error in Ajax controlled Grid

1 Answer 205 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Jaime
Top achievements
Rank 1
Jaime asked on 24 Sep 2009, 04:51 PM

Hello..

Telerik version: RadControls for ASP.NET Q3 2007

I have a Grid that is controlled by Ajax.... all worked well until I placed an export button so that the Grid can be exported to Excel. Excel exporting works but other operations on the Grid failed due to a JavaScript error: "object doesn't accept this property or method". When I debug the code, the editor stops at the following instruction:

RadGridNamespace.AsyncRequest('grdUsoOpciones$ctl01$ctl03$ctl01$ctl02','''grdUsoOpciones', event) 

If I issue an alert(RadGridNamespace.AsyncRequest) command in the immediate window, the function code is popped up so it does exist.

Where can be the problem?

This is a JavaScript function I needed to add because of adding the export functionality:

    <script type="text/javascript">  
    function mngRequestStarted(ajaxManager, eventArgs)    
    {    
        if (eventArgs.get_eventTarget().indexOf("btnExport") != -1)  
            eventArgs.set_enableAjax(false);    
    }    
    </script>  
 

This is the Grid defiition:

                    <rad:RadGrid ID="grdUsoOpciones" runat="server" AllowFilteringByColumn="True" AllowPaging="True" 
                        AllowSorting="True" AutoGenerateColumns="False" 
                        GridLines="None" Skin="WebBlue" Width="95%" EnableAJAX="True" EnableAJAXLoadingTemplate="True" OnNeedDataSource="grdUsoOpciones_NeedDataSource" OnItemCommand="grd_ItemCommand" OnItemCreated="grd_ItemCreated">  
                        <ExportSettings OpenInNewWindow="True" FileName="ExportUsoPorOpcion" IgnorePaging="True">  
                        </ExportSettings> 
                        <MasterTableView NoMasterRecordsText="No hay registros que mostrar." CommandItemDisplay="Top">  
                            <RowIndicatorColumn Visible="False">  
                                <HeaderStyle Width="20px" /> 
                            </RowIndicatorColumn> 
                            <ExpandCollapseColumn Resizable="False" Visible="False">  
                                <HeaderStyle Width="20px" /> 
                            </ExpandCollapseColumn> 
                            <Columns> 
                                <rad:GridBoundColumn DataField="Nombre" HeaderText="Nombre" UniqueName="column">  
                                    <ItemStyle Width="75%" /> 
                                </rad:GridBoundColumn> 
                                <rad:GridBoundColumn DataField="Uso" HeaderText="Uso" UniqueName="column1">  
                                    <ItemStyle Width="25%" /> 
                                </rad:GridBoundColumn> 
                            </Columns> 
                            <SortExpressions> 
                                <rad:GridSortExpression FieldName="Uso" SortOrder="Descending" /> 
                            </SortExpressions> 
                            <CommandItemTemplate> 
                                <asp:ImageButton ID="btnExportUsoPorUsuario" runat="server" ImageUrl="~/Private/images/small_xls.gif" CommandName="ExportToExcel" ImageAlign="AbsMiddle" /> 
                            </CommandItemTemplate>                              
                        </MasterTableView> 
                        <HeaderStyle ForeColor="Gainsboro" HorizontalAlign="Center" /> 
                        <PagerStyle HorizontalAlign="Left" Mode="NextPrevAndNumeric" NextPagesToolTip="P&#225;ginas Siguientes" 
                            NextPageToolTip="P&#225;gina Siguiente" PagerTextFormat="Cambiar p&#225;gina: {4} &amp;nbsp;|&amp;nbsp; Mostrando p&#225;gina {0} de {1}, opciones {2} a la {3} de {5}." 
                            PrevPagesToolTip="P&#225;ginas Anteriores" PrevPageToolTip="P&#225;gina Anterior" /> 
                        <ItemStyle HorizontalAlign="Left" /> 
                        <FilterItemStyle HorizontalAlign="Left" /> 
                        <AlternatingItemStyle HorizontalAlign="Left" /> 
                        <ClientSettings> 
                            <ClientEvents OnRequestStart="mngRequestStarted" /> 
                        </ClientSettings> 
                        <CommandItemStyle HorizontalAlign="Right" /> 
                    </rad:RadGrid> 
 

And these are the events I had to implement so that export would work with Ajax:

    protected void grd_ItemCreated(object sender, GridItemEventArgs e)  
    {  
        e.Item.Visible = !_exportExcel || e.Item.ItemType == GridItemType.Header || e.Item.ItemType == GridItemType.AlternatingItem || e.Item.ItemType == GridItemType.Item;  
    }  
    protected void grd_ItemCommand(object source, GridCommandEventArgs e)  
    {  
        _exportExcel = e.CommandName == Telerik.WebControls.RadGrid.ExportToExcelCommandName;  
    }  
 

Any help will be appreciated,

Thanks
Jaime

P.S. after posting this message, and having the script debugger enabled in Internet Explorer, I realized that even Excel exporting works, a JavaScript error is thrown too with the same message. It stops at this line:

<script type="text/javascript">/*<![CDATA[*/window["grdUsoUsuarios"] = new RadGridNamespace.RadGrid( {ID:"grdUsoUsuarios",GroupingSettings:{CollapseTooltip:"Collapse group",ExpandTooltip:"Expand group"},HierarchySettings:{CollapseTooltip:"Collapse",ExpandTooltip:"Expand"},EnableAJAX:true,FormID:"frmAudit",EnableOutsideScripts:false,Url:"/PortalSecurity/Private/audit.aspx",ClientSettings:{ClientEvents:{OnRequestStart:"mngRequestStarted",OnRequestEnd:"",OnRequestError:"",OnGridCreating:"",OnGridCreated:"",OnGridDestroying:"",OnMasterTableViewCreating:"",OnMasterTableViewCreated:"",OnError:"",OnTableCreating:"",OnTableCreated:"",OnTableDestroying:"",OnColumnCreating:"",OnColumnCreated:"",OnColumnDestroying:"",OnColumnResizing:"",OnColumnResized:"",OnColumnSwapping:"",OnColumnSwapped:"",OnColumnMovingToLeft:"",OnColumnMovedToLeft:"",OnColumnMovingToRight:"",OnColumnMovedToRight:"",OnColumnHiding:"",OnColumnHidden:"",OnColumnShowing:"",OnColumnShowed:"",OnRowCreating:"",OnRowCreated:"",OnRowDestroying:"",OnRowResizing:"",OnRowResized:"",OnRowHiding:"",OnRowHidden:"",OnRowShowing:"",OnRowShowed:"",OnRowClick:"",OnRowDblClick:"",OnColumnClick:"",OnColumnDblClick:"",OnRowSelecting:"",OnRowSelected:"",OnRowDeselecting:"",OnRowDeselected:"",OnRowMouseOver:"",OnRowMouseOut:"",OnColumnMouseOver:"",OnColumnMouseOut:"",OnColumnContextMenu:"",OnRowContextMenu:"",OnScroll:"",OnKeyPress:"",OnHierarchyExpanding:"",OnHierarchyExpanded:"",OnHierarchyCollapsing:"",OnHierarchyCollapsed:"",OnGroupExpanding:"",OnGroupExpanded:"",OnGroupCollapsing:"",OnGroupCollapsed:"",OnActiveRowChanging:"",OnActiveRowChanged:"",OnRowDeleting:"",OnRowDeleted:"",OnFilterMenuShowing:""},Selecting:{EnableDragToSelectRows:true,AllowCellSelect:false,AllowMultiCellSelect:false,AllowRowSelect:false,AllowColumnSelect:false,AllowMultiColumnSelect:false,IsSet:false},ClientMessages:{DropHereToReorder:"Drop here to reorder",DragToGroupOrReorder:"Drag to group or reorder",DragToResize:"Drag to resize",PagerTooltipFormatString:"Page: <b>{0}</b> out of <b>{1}</b> pages"},Scrolling:{AllowScroll:false,ScrollHeight:"300px",ScrollWidth:"",ScrollBarWidth:"",ScrollTop:"",AJAXScrollTop:"",ScrollLeft:"",UseStaticHeaders:false,SaveScrollPosition:true,EnableAJAXScrollPaging:false,FrozenColumnsCount:0},Resizing:{AllowColumnResize:false,AllowRowResize:false,ResizeGridOnColumnResize:false,ClipCellContentOnResize:true,EnableRealTimeResize:false},EnablePostBackOnRowClick:false,AllowKeyboardNavigation:false,ApplyStylesOnClient:false,AllowDragToGroup:false,AllowColumnsReorder:false,ReorderColumnsOnClient:false,ColumnsReorderMethod:"Swap",AllowRowHide:false,AllowColumnHide:false,AllowExpandCollapse:false,AllowGroupExpandCollapse:false,EnableClientKeyValues:false,PostBackReferences:{PostBackColumnsReorder:"{RadGridNamespace.AsyncRequest('grdUsoUsuarios','ColumnsReorder', 'grdUsoUsuarios', event);}",PostBackGroupByColumn:"{RadGridNamespace.AsyncRequest('grdUsoUsuarios','GroupByColumn', 'grdUsoUsuarios', event);}",PostBackUnGroupByExpression:"{RadGridNamespace.AsyncRequest('grdUsoUsuarios','UnGroupByExpression', 'grdUsoUsuarios', event);}",PostBackReorderGroupByExpression:"{RadGridNamespace.AsyncRequest('grdUsoUsuarios','ReorderGroupByExpression', 'grdUsoUsuarios', event);}",PostBackEditRow:"{RadGridNamespace.AsyncRequest('grdUsoUsuarios','EditRow', 'grdUsoUsuarios', event);}"},ActiveRowData:"",Slider:"",PostBackFunction:"RadGridNamespace.AsyncRequest('{0}','{1}', 'grdUsoUsuarios', event)",FirstDataRowClientRowIndex:0,ShouldCreateRows:false},GroupPanel:{GroupPanelItems:[],ClientID:"grdUsoUsuarios_ctl00"},ShowGroupPanel:false,GroupingEnabled:false,MasterTableView: new RadGridNamespace.RadGridTable( {OwnerID:"grdUsoUsuarios",HierarchyLoadMode:"ServerOnDemand",GroupLoadMode:"Server",AllowFilteringByColumn:true,PageSize:10,PageCount:1,TableLayout:"Auto",RenderItemStyle:"",RenderItemStyleClass:"GridRow_WebBlue",RenderGroupHeaderItemStyle:"",RenderGroupHeaderItemStyleClass:"GroupHeader_WebBlue",RenderAlternatingItemStyle:"",RenderAlternatingItemStyleClass:"GridAltRow_WebBlue",RenderEditItemStyle:"",RenderEditItemStyleClass:"GridEditRow_WebBlue",RenderPagerStyle:"",RenderPagerStyleClass:"GridPager_WebBlue",RenderHeaderStyle:"color:Gainsboro;",RenderHeaderStyleClass:"GridHeader_WebBlue",RenderActiveItemStyle:"",RenderActiveItemStyleClass:"ActiveRow_WebBlue",RenderFooterStyle:"",RenderFooterStyleClass:"GridFooter_WebBlue",SelectedItemStyle:"",SelectedItemStyleClass:"SelectedRow_WebBlue",Name:"",ShowHeader:true,RenderColumns:[{ExpandImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/SinglePlus.gif",CollapseImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/SingleMinus.gif",ButtonType:"ImageButton",UniqueName:"ExpandColumn",CurrentFilterFunction:"NoFilter",FilterListOptions:"VaryByDataType",FilterImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/Filter.gif",DataTypeName:"System.String",Visible:false,Display:true,OwnerID:"grdUsoUsuarios_ctl01",ColumnType:"GridExpandColumn",OrderIndex:-1},{Visible:false,UniqueName:"RowIndicator",CurrentFilterFunction:"NoFilter",FilterListOptions:"VaryByDataType",FilterImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/Filter.gif",DataTypeName:"System.String",Display:true,OwnerID:"grdUsoUsuarios_ctl01",ColumnType:"GridRowIndicatorColumn",OrderIndex:-1},{CurrentFilterFunction:"NoFilter",FilterListOptions:"VaryByDataType",FilterImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/Filter.gif",DataTypeName:"System.String",Visible:true,Display:true,OwnerID:"grdUsoUsuarios_ctl01",ColumnType:"GridBoundColumn",OrderIndex:2,UniqueName:"column"},{CurrentFilterFunction:"NoFilter",FilterListOptions:"VaryByDataType",FilterImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/Filter.gif",DataTypeName:"System.Int32",Visible:true,Display:true,OwnerID:"grdUsoUsuarios_ctl01",ColumnType:"GridBoundColumn",OrderIndex:3,UniqueName:"column1"}],CurrentPageIndex:0,ID:"ctl01",HierarchyIndex:"",UID:"grdUsoUsuarios$ctl01",IsItemInserted:false,CommandItemDisplay:"Top",Controls:[{},{}],ClientID:"grdUsoUsuarios_ctl01",Visible:true} ),CurrentPageIndex:0,AllowMultiRowSelection:false,ShowHeader:true,FilterMenu:{Items:[{Selected:false,Text:"Sin filtro",Value:"NoFilter",UID:"grdUsoUsuarios$ctl02$Item0"},{Selected:false,Text:"Contiene",Value:"Contains",UID:"grdUsoUsuarios$ctl02$Item1"},{Selected:false,Text:"No contiene",Value:"DoesNotContain",UID:"grdUsoUsuarios$ctl02$Item2"},{Selected:false,Text:"Comienza con",Value:"StartsWith",UID:"grdUsoUsuarios$ctl02$Item3"},{Selected:false,Text:"Termina con",Value:"EndsWith",UID:"grdUsoUsuarios$ctl02$Item4"},{Selected:false,Text:"Igual",Value:"EqualTo",UID:"grdUsoUsuarios$ctl02$Item5"},{Selected:false,Text:"Distinto",Value:"NotEqualTo",UID:"grdUsoUsuarios$ctl02$Item6"},{Selected:false,Text:"Mayor",Value:"GreaterThan",UID:"grdUsoUsuarios$ctl02$Item7"},{Selected:false,Text:"Menor",Value:"LessThan",UID:"grdUsoUsuarios$ctl02$Item8"},{Selected:false,Text:"Mayor o igual",Value:"GreaterThanOrEqualTo",UID:"grdUsoUsuarios$ctl02$Item9"},{Selected:false,Text:"Menor o igual",Value:"LessThanOrEqualTo",UID:"grdUsoUsuarios$ctl02$Item10"},{Selected:false,Text:"Entre",Value:"Between",UID:"grdUsoUsuarios$ctl02$Item11"},{Selected:false,Text:"No entre",Value:"NotBetween",UID:"grdUsoUsuarios$ctl02$Item12"},{Selected:false,Text:"Vacío",Value:"IsEmpty",UID:"grdUsoUsuarios$ctl02$Item13"},{Selected:false,Text:"Con algo",Value:"NotIsEmpty",UID:"grdUsoUsuarios$ctl02$Item14"},{Selected:false,Text:"Nulo",Value:"IsNull",UID:"grdUsoUsuarios$ctl02$Item15"},{Selected:false,Text:"No sea nulo",Value:"NotIsNull",UID:"grdUsoUsuarios$ctl02$Item16"},{Selected:false,Text:"Custom",Value:"Custom",UID:"grdUsoUsuarios$ctl02$Item17"}],SelectedImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/SelectedMenu.gif",NotSelectedImageUrl:"/PortalSecurity/RadControls/Grid/Skins/WebBlue/NotSelectedMenu.gif",SelectColumnBackColor:"buttonface",TextColumnBackColor:"window",HoverBackColor:"LightSteelBlue",HoverBorderColor:"Navy",CssClass:""},LoadingTemplateTransparency:0,Skin:"WebBlue",AllowFilteringByColumn:true,ClientID:"grdUsoUsuarios",UniqueID:"grdUsoUsuarios"} )/*]]>*/</script>   </div> 

1 Answer, 1 is accepted

Sort by
0
Sebastian
Telerik team
answered on 29 Sep 2009, 02:39 PM
Hello Jaime,

I tried to reproduce the erroneous behavior locally but unfortunately to no avail. Since you are using rather an old version of RadGrid for ASP.NET, I suggest you migrate to the latest 5.16 version of the control to see whether this eliminates the errors you get. If the problem is still there, start a formal support ticket and provide a working subset of your project, illustrating it. Thus we will do our best to advice you further.

Best regards,
Sebastian
the Telerik team

Instantly find answers to your questions on the new Telerik Support Portal.
Watch a video on how to optimize your support resource searches and check out more tips on the blogs.
Tags
Grid
Asked by
Jaime
Top achievements
Rank 1
Answers by
Sebastian
Telerik team
Share this question
or