Cannot call method '_showFilterMenu' of null

2 posts, 0 answers
  1. Gökhan
    Gökhan avatar
    11 posts
    Member since:
    Jun 2011

    Posted 15 Jun 2012 Link to this post

    Hi,

    I have a RadGrid and I fill my data on it. First time i can filter my column but second time it gives "Cannot call method '_showFilterMenu' of null " message when i click filter button. My codes is follow..

    and i attached my screenshot result..
     

    using
     System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using Getron.AAM.EntityManagement;
    using System.Data;
    using Telerik.Web.UI;
    using Getron.Core.BussinesRuleEngine;
    using Getron.Core.Base.Web;
    using System.Text;
     
    public partial class Sections_TaskManagement_Controls_SelectRows : EntityProtectedUserControl
    {
     
        private void Page_Load(object sender, System.EventArgs e)
        {
             
                if (Request.QueryString["ControlIntCode"] != null && Getron.Core.Tools.DataTableFieldOperation.ToInt64(Request.QueryString["ControlIntCode"].ToString(), 0) > 0)
                {
                    RequestTemplateControl templateControl = new RequestTemplateControl(Getron.Core.Tools.DataTableFieldOperation.ToInt64(Request.QueryString["ControlIntCode"].ToString(), 0));
                     
                    SqlDataSource1.ConnectionString = templateControl.DbSession.Connection.ConnectionString;
                    SqlDataSource1.SelectCommand = templateControl.Query;
     
     
                    this.RadGrid1.MasterTableView.Columns.Clear();
     
                    GridClientSelectColumn selectCol = new GridClientSelectColumn();
     
                    this.RadGrid1.MasterTableView.Columns.Add(selectCol);
                 
            }
     
        }
     
    }



    <%@ Control Language="C#" AutoEventWireup="true" CodeFile="SelectRows.ascx.cs" Inherits="Sections_TaskManagement_Controls_SelectRows" %>
     
            <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
            <AjaxSettings>
                <telerik:AjaxSetting AjaxControlID="RadGrid1">
                    <UpdatedControls>
                        <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
                    </UpdatedControls>
                </telerik:AjaxSetting>
            </AjaxSettings>
        </telerik:RadAjaxManager>
        <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Hay" />
         
     
            <script type="text/javascript">
            function GetRadWindow()
            {
                var oWindow = null;
                if (window.radWindow) oWindow = window.radWindow;
                else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
                return oWindow;
            }
     
            function returnToParent() {
                //create the argument that will be returned to the parent page
                var oArg = new Object();
     
                //get the city's name
                oArg.cityName = "deneme";
     
                //get the selected date from RadDatePicker
                 
                //oArg.selDate = datePicker.get_selectedDate().toLocaleDateString();
     
                //get a reference to the current RadWindow
                var oWnd = GetRadWindow();
     
     
     
     
                //Close the RadWindow and send the argument to the parent page
                if (oArg.selDate && oArg.cityName) {
                    oWnd.close(oArg);
                }
                
            }
        </script>
     
         
            <telerik:RadGrid AutoGenerateColumns="true" ID="RadGrid1" DataSourceID="SqlDataSource1" EnableTheming="true"
            Width="760px" AllowFilteringByColumn="True" AllowSorting="True" PageSize="15"
            ShowFooter="True" AllowPaging="True" runat="server" GridLines="None" EnableLinqExpressions="false">
            <PagerStyle Mode="NextPrevAndNumeric" />
            <GroupingSettings CaseSensitive="false" />
            <MasterTableView  AllowFilteringByColumn="True"
                ShowFooter="True" TableLayout="Auto"></MasterTableView>
                <ClientSettings>
                <Selecting AllowRowSelect="true" />
                 
                </ClientSettings>
                 
            </telerik:RadGrid>
            <asp:SqlDataSource ID="SqlDataSource1"
            ProviderName="System.Data.SqlClient"  runat="server">
        </asp:SqlDataSource>
        <hr />
        <button title="Submit" id="close" onclick="returnToParent(); return false;">Seçilenleri Onayla</button>




  2. Andrey
    Admin
    Andrey avatar
    836 posts

    Posted 21 Jun 2012 Link to this post

    Hello,

    Most probably the problem comes from the fact that you are clearing the Columns collection of RadGrid in the Page_Load event.

    Doing this, the first time noting happens, because the structure of RadGrid is still not created, however, on the second time, the structure is recreated from the ViewState. And after that you are clearing the collection and most probably this is the reason for the error message.

    Please, check this help topic for more information on how to create the structure of RadGrid dynamically. Additionally, you do not need to create the ClientSelectColumn dynamically in this case, you could do it statically in mark-up code.

    Give these suggestions a try and check whether the issue still replicates.
    Regards,
    Andrey
    the Telerik team
    If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top