Grid (Filter or Sort) - Object Reference Not Set to an Instance of an Object

2 posts, 0 answers
  1. Rodney
    Rodney avatar
    40 posts
    Member since:
    Mar 2015

    Posted 17 Jun Link to this post

    I have two grids, that when I try to filter or sort, I get the error Object Reference Not set to an instance of an object. It doesn't seem to make it back to the server side code, or at least not where I'm expecting, from as far as I can tell. I put breakpoints all over the place and none were ever hit.

    I've compared the markup for these grids to several others that are working and fail to see any difference. I should mention these are both on the same page inside of a RadTabPanel.

    Here is the full text of the inner exception:

    Inner exception message: Object reference not set to an instance of an object. Exception message: Exception of type 'System.Web.HttpUnhandledException' was thrown. [6/17/2016 4:30:54 PM] 
     
    Error Details:
    6/17/2016 4:30:54 PM...Inner Exception 
    Exception Message: Object reference not set to an instance of an object.
    Exception Stack: 
     at Telerik.Web.UI.RadGrid.RaisePostBackEvent(String eventArgument)
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    Exception Message: Exception of type 'System.Web.HttpUnhandledException' was thrown.
    Exception Stack: 
     at System.Web.UI.Page.HandleError(Exception e)
     at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
     at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
     at System.Web.UI.Page.ProcessRequest()
     at System.Web.UI.Page.ProcessRequest(HttpContext context)
     at ASP.pages_home_aspx.ProcessRequest(HttpContext context) in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files\wtu\d747c192\fbb86567\App_Web_rfsuwzi4.1.cs:line 0
     at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
     at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) 

     

    Here the markup for the first Grid that fails:

    <telerik:RadGrid ID="rgPendingAssignment"
        runat="server"
        MasterTableView-HeaderStyle-CssClass="radGridLargest"
        AllowPaging="True"
        AllowSorting="True"
        AutoGenerateColumns="False"
        CellSpacing="0"
        PageSize="25"
        ClientSettings-AllowColumnsReorder="false" ClientSettings-Resizing-AllowColumnResize="false" ClientSettings-Scrolling-UseStaticHeaders="true"
        EnableLinqExpressions="False"
        ExportSettings-ExportOnlyData="false" ExportSettings-IgnorePaging="true" ExportSettings-OpenInNewWindow="true" ExportSettings-HideStructureColumns="true"
        GridLines="None"
        GroupingSettings-CaseSensitive="false" MasterTableView-AllowMultiColumnSorting="false" MasterTableView-AllowNaturalSort="false" AllowFilteringByColumn="true" MasterTableView-CommandItemDisplay="Top"
        MasterTableView-CommandItemSettings-ShowAddNewRecordButton="false"
        MasterTableView-CommandItemSettings-ShowRefreshButton="false"
        MasterTableView-CommandItemSettings-ShowExportToCsvButton="false"
        MasterTableView-CommandItemSettings-ShowExportToExcelButton="true" ExportSettings-Excel-Format="Xlsx"
        MasterTableView-CommandItemSettings-ShowExportToPdfButton="true" ExportSettings-Pdf-AllowCopy="true" ExportSettings-Pdf-AllowPrinting="true" ExportSettings-Pdf-AllowModify="true"
        MasterTableView-CommandItemSettings-ShowExportToWordButton="true" ExportSettings-Word-Format="Docx"
        MasterTableView-PagerStyle-PagerTextFormat="{4} Page {0} of {1}, rows {2} to {3} of {5}"
        MasterTableView-PagerStyle-Position="TopAndBottom" MasterTableView-PagerStyle-PageButtonCount="10" MasterTableView-PagerStyle-EnableAllOptionInPagerComboBox="false"
        MasterTableView-TableLayout="Fixed">
        <MasterTableView>
            <SortExpressions>
                <telerik:GridSortExpression FieldName="SOLDIER" SortOrder="Ascending" />
            </SortExpressions>
            <NoRecordsTemplate>
                <asp:Label ID="Label1" Text="No Records Found" runat="server" />
            </NoRecordsTemplate>
            <Columns>
                <telerik:GridBoundColumn DataField="CaseId" UniqueName="CASEID" Display="false" />
                <telerik:GridHyperLinkColumn UniqueName="Soldier" HeaderText="Soldier" DataTextField="Soldier" AutoPostBackOnFilter="true"
                    DataNavigateUrlFields="CASEID" DataNavigateUrlFormatString="~/CaseAssignment/{0}" ShowFilterIcon="false"  CurrentFilterFunction="Contains" DataType="System.String" />
                <telerik:GridBoundColumn UniqueName="SSN" HeaderText="SSN" DataField="SSN" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn UniqueName="losingWTU" HeaderText="Losing WTU" DataField="losingWTU" ShowFilterIcon="false" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn UniqueName="GAININGWTU" HeaderText="Gaining WTU" DataField="GAININGWTU" ShowFilterIcon="false" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn UniqueName="GAININGCOMPANY" HeaderText="Gaining Company" DataField="GAININGCOMPANY" ShowFilterIcon="false" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn UniqueName="AcceptedBy" HeaderText="Accepted By" DataField="AcceptedBy" ShowFilterIcon="false" AutoPostBackOnFilter="true" />
                <telerik:GridDateTimeColumn UniqueName="AcceptedOn" HeaderText="Date Accepted" DataField="AcceptedOn" ShowFilterIcon="false"
                    DataFormatString="{0:dd MMM yyyy}" DataType="System.DateTime" AutoPostBackOnFilter="true" />
            </Columns>
        </MasterTableView>
    </telerik:RadGrid>

    The markup for the second grid that isn't working:

    <telerik:RadGrid ID="rgTransfers"
        runat="server"
        OnItemCreated="rg_popup_ItemCreated"
        OnItemDataBound="rgTransfers_ItemDataBound"
        CssClass="radGridLargest"
        AllowPaging="True"
        AllowSorting="True"
        AutoGenerateColumns="False"
        CellSpacing="0"
        PageSize="25"
        ClientSettings-AllowColumnsReorder="false" ClientSettings-Resizing-AllowColumnResize="true" ClientSettings-Scrolling-UseStaticHeaders="true"
        EnableLinqExpressions="False"
        ExportSettings-ExportOnlyData="false" ExportSettings-IgnorePaging="true" ExportSettings-OpenInNewWindow="true" ExportSettings-HideStructureColumns="true"
        GridLines="None"
        GroupingSettings-CaseSensitive="false" MasterTableView-AllowMultiColumnSorting="false" MasterTableView-AllowNaturalSort="false" AllowFilteringByColumn="true" MasterTableView-CommandItemDisplay="Top"
        MasterTableView-CommandItemSettings-ShowAddNewRecordButton="false"
        MasterTableView-CommandItemSettings-ShowRefreshButton="false"
        MasterTableView-CommandItemSettings-ShowExportToCsvButton="false"
        MasterTableView-CommandItemSettings-ShowExportToExcelButton="true" ExportSettings-Excel-Format="Xlsx"
        MasterTableView-CommandItemSettings-ShowExportToPdfButton="true" ExportSettings-Pdf-AllowCopy="true" ExportSettings-Pdf-AllowPrinting="true" ExportSettings-Pdf-AllowModify="true"
        MasterTableView-CommandItemSettings-ShowExportToWordButton="true" ExportSettings-Word-Format="Docx"
        MasterTableView-PagerStyle-PagerTextFormat="{4} Page {0} of {1}, rows {2} to {3} of {5}"
        MasterTableView-PagerStyle-Position="TopAndBottom" MasterTableView-PagerStyle-PageButtonCount="10" MasterTableView-PagerStyle-EnableAllOptionInPagerComboBox="false"
        MasterTableView-TableLayout="Fixed">
        <MasterTableView >
            <SortExpressions>
                <telerik:GridSortExpression FieldName="SOLDIER" SortOrder="Ascending" />
            </SortExpressions>
            <NoRecordsTemplate>
                <asp:Label ID="Label1" Text="No Records Found" runat="server" />
            </NoRecordsTemplate>
            <Columns>
                <telerik:GridTemplateColumn UniqueName="SELECTACTION" ShowFilterIcon="false" DataField="CASEID"
                    SortExpression="CASEID" HeaderText="Select Action" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true"
                    HeaderStyle-Width="120px">
                    <ItemTemplate>
                        <asp:DropDownList ID="ddlSelectAction" runat="server">
                            <asp:ListItem Text="--Select Action--" Value="" />
                            <asp:ListItem Text="Accept Transfer" Value="ACCEPT" />
                            <asp:ListItem Text="Cancel Transfer" Value="CANCEL" />
                        </asp:DropDownList>
                        <asp:HiddenField ID="tranferCaseId" runat="server" Value='<%# Eval("CASEID") %>' />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn Display="false" DataField="CASETRANSFERID" UniqueName="CASETRANSFERID" />
                <telerik:GridTemplateColumn UniqueName="SOLDIER" ShowFilterIcon="false" DataField="SOLDIER"
                    SortExpression="SOLDIER" HeaderText="Soldier" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true">
                    <ItemTemplate>
                        <asp:LinkButton ID="lnkBtnName" runat="server" Text='<%# Eval("SOLDIER") %>' CommandArgument='<%# Eval("CaseId") %>' />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridBoundColumn HeaderText="SSN" DataField="SSN" UniqueName="SSN" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" HeaderStyle-Width="47px" />
                <telerik:GridBoundColumn HeaderText="Losing WTU" DataField="LOSINGWTU" UniqueName="LOSINGWTU" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn HeaderText="Losing CO" DataField="LOSINGCO" UniqueName="LOSINGCO" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn HeaderText="Gaining WTU" DataField="GAININGWTU" UniqueName="GAININWTU" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
                <telerik:GridBoundColumn HeaderText="Gaining CO" DataField="GAININGCO" UniqueName="GAININGCO" ShowFilterIcon="false"
                    DataType="System.String" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" />
                <telerik:GridDateTimeColumn HeaderText="Date Initiated" DataField="DATEINITIATED" UniqueName="DATEINITIATED" DataFormatString="{0:dd MMM yyyy}" ShowFilterIcon="false"
                    DataType="System.DateTime" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" HeaderStyle-Width="100px" />
                <telerik:GridDateTimeColumn HeaderText="Record Start Date" DataField="PROGRAMSTARTDATE" UniqueName="PROGRAMSTARTDATE" DataFormatString="{0:dd MMM yyyy}" ShowFilterIcon="false"
                    DataType="System.DateTime" CurrentFilterFunction="Contains" AutoPostBackOnFilter="true" HeaderStyle-Width="115px" />
            </Columns>
            <CommandItemTemplate>
                <div class="formRowNoBorder">
                    <div class="floatLeft">
                        <asp:LinkButton runat="server" ID="lbCancel" CssClass="silverButton" OnClick="btnCancel_Click"><span>Cancel</span></asp:LinkButton>
                        <asp:LinkButton runat="server" ID="lbSave" CssClass="silverButton" CommandName="Save" OnClick="btnSave_Click"><span>Save</span></asp:LinkButton>
                    </div>
                </div>
            </CommandItemTemplate>
        </MasterTableView>
    </telerik:RadGrid>

     

     

     

     

     

     

     

     

  2. Eyup
    Admin
    Eyup avatar
    3005 posts

    Posted 22 Jun Link to this post

    Hi Rodney,

    Please make sure that you are not using the DataBind() method to bind the grid. Performing complex grid operations such as Inserting, Deleting, Updating, Hierarchy relations, Grouping, Exporting, Paging, Sorting, Filtering, etc. require accommodating appropriate database operations.  Therefore, we suggest you to avoid Simple Databinding and strongly recommend the use of more advanced databinding methods, which automatically handle the aforementioned functions:

    Declarative DataSource (DataSourceID property)
    Programmatic Data Binding (NeedDataSource event, + DetailTableDataBind for hierarchy). You should set the DataSource property ONLY within these event handler.

    Also, temporarily disable any AJAX on the page if present (RadAjaxManager, RadAjaxPanel, UpdatePanel, etc.) and enable your script debugger (FireBug or F12) to see whether there are any script or server errors interfering.



    Regards,
    Eyup
    Telerik
    Do you need help with upgrading your ASP.NET AJAX, WPF or WinForms projects? Check the Telerik API Analyzer and share your thoughts.
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top