We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy.
Unfortunately, activation email could not send to your email. Please try again.

How to add filtering to multiple row selection using a checkbox in a grid

Thread ID:

Created:

Updated:

Platform:

Replies:

121846 Jan 31,2016 10:59 AM Feb 21,2017 10:56 PM ASP.NET MVC 14
loading
Tags: Grid
Todd M
Asked On January 31, 2016 10:59 AM


Knowledge base article #3180 shows how to add checkbox to perform multiple selections in a grid. I would like to filter the grid based upon the selections.  The filter bar does not allow for filtering (the filter area is grayed out and no entry box is available) on this added checkbox column.  


Desired result. If the user selects 5 rows using the checkbox column, I want the user to be able to filter the results so that only the checked or only the unchecked items are displayed. 



Sellappandi Ramu [Syncfusion]
Replied On February 1, 2016 05:43 AM

Hi Todd,

Thanks for contacting Syncfusion support.

We need to add the additional Boolean type column to dataSource. Because field name is mandatory to perform the filtering operation, if filed name is not included in column filter bar will be in disabled state.

Please share the following information to us, it will help us to provide the prompt solution,

1.       Are you using any adaptor (Ex: Url Adaptor, Remote save, WebApi Adaptor, Odata Adaptor) in Grid?
2.       Are you able to add the additional column in bounded dataSource? Because we need to maintain the selection in grid after perform the paging and filtering operation.
3.       What are the operation you have performed in grid? Kindly provide grid codes.

Regards,
Sellappandi R

Todd M
Replied On February 1, 2016 10:19 AM

1) I use the remote save adaptor.

2). The column is added and I can select and unselect all the checkboxes, I can multi select x number of checkboxes.

3)
@(Html.EJ().Grid<CCS.Models.Competitor>("FlatGrid")
    .Datasource(ds => ds.Json((IEnumerable<object>)ViewBag.datasource)
    .UpdateURL("/Competitors/Update").InsertURL("/Competitors/Insert").RemoveURL("/Competitors/Delete").Adaptor(AdaptorType.RemoteSaveAdaptor))
    .EditSettings(edit =>
    {
        edit.AllowAdding().AllowDeleting().AllowEditing();
    })
    .ToolbarSettings(toolBar => toolBar.ShowToolbar().ToolbarItems(items =>
    {
        items.AddTool(ToolBarItems.Add);
        items.AddTool(ToolBarItems.Edit);
        items.AddTool(ToolBarItems.Delete);
        items.AddTool(ToolBarItems.Update);
        items.AddTool(ToolBarItems.Cancel);
        items.AddTool(ToolBarItems.ExcelExport);
    }))
    .Mappers(map => map.ExportToExcelAction("/Competitors/ExportToExcel")
    )
    .ShowColumnChooser()
    .AllowSorting()
    .AllowMultiSorting()
    .AllowResizing()
    .AllowTextWrap()
    .AllowGrouping()
    .AllowFiltering()
    .FilterSettings(d => d.FilterType(FilterType.FilterBar))
    .GroupSettings(group => { group.ShowGroupedColumn(false).EnableDropAreaAnimation(false); })
    .Columns(col =>
    {
        col.Field("Id").HeaderText("Id").IsPrimaryKey(true).EditType(EditingType.Numeric).Width(16).TextAlign(TextAlign.Right).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", true)).Add();

        col.Field("FirstName").HeaderText("First Name").EditType(EditingType.String).Width(18).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", true)).Add();

        col.Field("LastName").HeaderText("Last Name").EditType(EditingType.String).Width(18).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", true)).Add();

        col.Field("Gender").HeaderText("Gender").EditType(EditingType.String).Width(12).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", false)).Add();

        col.Field("Category").HeaderText("Category").EditType(EditingType.String).Width(15).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", false)).Add();

        col.Field("Team").HeaderText("Team").EditType(EditingType.String).Width(15).HeaderTextAlign(TextAlign.Center).ValidationRules(v => v.AddRule("required", false)).Add();
    })

Sellappandi Ramu [Syncfusion]
Replied On February 2, 2016 07:17 AM

Hi Todd,

Thanks for the update.

We have achieved the filter option of template column using load, databound, actionComplete and recordClick events. In load event we have added the dummy CheckBox field dynamically to grid dataSource for perform the filter operation. Filter bar will be in disabled mode, if field name does not exist in columns. So we have used this name as field name for template column. In dataBound event we have render the check box and wire check box change event.

Please refer to the code example, sample and online help documentation for grid events,

<script type="text/x-jsrender" id="checkboxTemplate">

    <input type="checkbox" class="rowCheckbox" />

</script>

<div id="checkboxheader">

    <input type="checkbox" class="rowCheckbox" />

</div>

@(Html.EJ().Grid<object>("Grid")

        .Datasource(ds => ds.Json((IEnumerable<object>)ViewBag.datasource)

        .UpdateURL("/Grid/Update").InsertURL("/Grid/Insert").RemoveURL("/Grid/Delete").Adaptor(AdaptorType.RemoteSaveAdaptor))

        .EditSettings(edit =>

        {

            edit.AllowAdding().AllowDeleting().AllowEditing();

        })

        .ToolbarSettings(toolBar => toolBar.ShowToolbar().ToolbarItems(items =>

        {

            items.AddTool(ToolBarItems.Add);

            items.AddTool(ToolBarItems.Edit);

            items.AddTool(ToolBarItems.Delete);

            items.AddTool(ToolBarItems.Update);

            items.AddTool(ToolBarItems.Cancel);

        }))

        .ShowColumnChooser()

        .SelectionType(SelectionType.Multiple)

        .AllowResizing()

        .AllowTextWrap()

        .AllowGrouping()

        .AllowFiltering()

        .FilterSettings(d => d.FilterType(FilterType.FilterBar))

        .GroupSettings(group => { group.ShowGroupedColumn(false).EnableDropAreaAnimation(false); })

        .Columns(col =>

        {

            col.Field("CheckBox").HeaderTemplateID("#checkboxheader").Template(true).TemplateID("#checkboxTemplate").TextAlign(TextAlign.Center).Width(50).Add();

            . . . .


        }).ClientSideEvents(e => e.Load("load").DataBound("bound").ActionComplete("complete").RecordClick("recordClick")))

<script type="text/javascript">

    function load(args) {

        var data = [];

        $.extend(true, data, this.model.dataSource.dataSource.json);

        window.gridDataSource = data;

        for (var i = 0; i < this.model.dataSource.dataSource.json.length; i++) {

            this.model.dataSource.dataSource.json[i].CheckBox = false;

        }

    }

    function bound(args) {

        $("#Grid .e-templatecell .rowCheckbox").ejCheckBox({ "change": checkChange });

        $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ "change": checkHeaderChange });

    }

    function checkChange(e) {

        var trueCheckBox = $("#Grid .e-templatecell .rowCheckbox").parent("span[aria-checked='true']").parent("td");

        var falseCheckBox = $("#Grid .e-templatecell .rowCheckbox").parent("span[aria-checked='false']").parent("td");

        trueCheckBox.addClass("e-selectionbackground e-active");

        trueCheckBox.siblings().addClass("e-selectionbackground e-active");

        falseCheckBox.removeClass("e-selectionbackground e-active");

        falseCheckBox.siblings().removeClass("e-selectionbackground e-active");

        if ($("#Grid .e-templatecell .rowCheckbox").parent("span[aria-checked='false']").length == 0)

            $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ "checked": true });

        else

            $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ "checked": false });

    }

    function checkHeaderChange(e) {

        gridObj = $("#Grid").data("ejGrid");

        if (e.isChecked) {

            $("#Grid .e-templatecell .rowCheckbox").ejCheckBox({ "checked": true });

            gridObj.selectRows(0, gridObj.model.currentViewData.length - 1);

            for (var i = 0; i < gridObj.model.dataSource.dataSource.json.length; i++) {

                gridObj.model.dataSource.dataSource.json[i].CheckBox = true;

            }

        }

        else {

            $("#Grid .e-templatecell .rowCheckbox").ejCheckBox({ "checked": false });

            gridObj.clearSelection();

            for (var i = 0; i < gridObj.model.dataSource.dataSource.json.length; i++) {

                gridObj.model.dataSource.dataSource.json[i].CheckBox = false;

            }

        }

    }

    function recordClick(args) {

        checkChange();

        if (args.row.find(".e-templatecell span").attr("aria-checked") == "true")

            this.model.dataSource.dataSource.json[args.rowIndex].CheckBox = true

        else

            this.model.dataSource.dataSource.json[args.rowIndex].CheckBox = false

    }

    function complete(args) {

        if (args.requestType == "filtering" && args.currentFilteringColumn == "CheckBox") {

            var filterBarVal = $("#" + args.currentFilteringColumn + "_filterBarcell").val();

            if (filterBarVal.toLowerCase() == "true") {

                $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": true });

                this.selectRows(0, this.model.currentViewData.length - 1);

                $("#Grid .e-templatecell .rowCheckbox").ejCheckBox({ "change": checkChange, "checked": true });

            }

            else if (filterBarVal.toLowerCase() == "false") {

                $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": false });

                $("#Grid .e-templatecell .rowCheckbox").ejCheckBox({ "change": checkChange });

            }

            else {

                var selectedData = ej.DataManager(this.model.dataSource.dataSource.json).executeLocal(ej.Query().where("CheckBox", ej.FilterOperators.equal, true, false));

                if (selectedData.length == $("#Grid .e-templatecell .rowCheckbox").length)

                    $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": true });

                else

                    $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": false });

                selectMaintain();

            }

        }

        else if (args.requestType == "filtering") {

            var selectedData = ej.DataManager(this.model.dataSource.dataSource.json).executeLocal(ej.Query().where("CheckBox", ej.FilterOperators.equal, true, false));

            if (selectedData.length == $("#Grid .e-templatecell .rowCheckbox").length)

                $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": true });

            else

                $("#Grid .e-headertemplate .rowCheckbox").ejCheckBox({ change: "checkHeaderChange", "checked": false });

            selectMaintain();

        }

    }

    function selectMaintain() {

        var selectedRowIndex = [];

        gridObj = $("#Grid").data("ejGrid");

        for (var i = 0; i < gridObj.model.currentViewData.length; i++) {

            if (gridObj.model.currentViewData[i].CheckBox) {

                $("#Grid .e-templatecell .rowCheckbox").eq(i).ejCheckBox({ "change": checkChange, "checked": true });

                selectedRowIndex.push(i);

            }

            else

                $("#Grid .e-templatecell .rowCheckbox").eq(i).ejCheckBox({ "change": checkChange, "checked": false });

        }

        gridObj.selectRows(selectedRowIndex);

    }
</script>


Sample: http://www.syncfusion.com/downloads/support/forum/121846/ze/MVCGrid_121846-1080870445

Document: http://help.syncfusion.com/js/api/ejgrid#events

We have added video demo of attached sample in below,

Demo: http://www.syncfusion.com/downloads/support/forum/121846/ze/Demo-715909351

Regards,
Sellappandi R

Todd M
Replied On February 2, 2016 11:45 AM

Thank you, the filtering works.

I have however lost the ability to export to excel. It now throws a null reference exception. Is it possible to retain excel exporting of the grid?

Ragavee U S [Syncfusion]
Replied On February 3, 2016 01:26 AM

Hi Todd,

Thanks for your update.

We analyzed the reported issue. We have discussed on a similar issue in our following knowledge base link.

https://www.syncfusion.com/kb/3018/null-exception-while-exporting

Since we have dynamically bound the “CheckBox” field column (actually not present in database table) to the grid dataSource at client side for filtering purpose, the reported exception has occurred while exporting. So we suggest you to pass the IsTemplateColumnInclude paramter of the Export method as false at server side. Please refer to the below code example.

public void ExportToExcel(string GridModel)

        {


            . . . .

           exp.Export(gridPropert, (IEnumerable)data, "Export.xlsx", ExcelVersion.Excel2010, false, false, "flat-lime");


        }


The IsTemplateColumnInclude parameter is used to include a field bound template column upon exporting.

For your convenience, we have modified the previously updated sample with exporting enabled, which can be downloaded from below location.

Sample Link: http://www.syncfusion.com/downloads/support/forum/121846/ze/MVCGrid-1931761711

Regards,
Ragavee U S.

Todd M
Replied On February 3, 2016 09:31 AM

"we suggest you to pass the IsTemplateColumnInclude paramter of the Export method as false at server side. "

My code already had this set to false. Exporting the grid functions fine. I can even filter the grid and export the filtered results.

I can't however use the checkbox to filter the grid and export those results. This is when I get the null exception.


I would like the user to be able to select x number of records from the grid, filter (either true or false) and then export the results of that filtering.

Thanks.



Ragavee U S [Syncfusion]
Replied On February 4, 2016 05:52 AM

Hi Todd,

Since we have added the “CheckBox” field  to Grid dataSource in the client side (Javascript) for filtering purpose and it is not available at server end (C#) dataSource, while exporting after filtering the Checkbox column, the exception has been thrown.

So we suggest you to add an additional property (gridDataSource) in Grid model to pass the client side dataSource (with CheckBox field) and deserialize it at server side while exporting to resolve the issue.

We have achieved your requirement to export filtered records using the below workaround.

//toolbar click event of the grid

    function toolbarClick(args) {

        if (args.itemName == "Excel Export") {

            this.model.gridDataSource = this.model.dataSource.dataSource.json;//getting the grid dataSource and storing it in grid model

        }
    }

[In Controller]

private GridProperties ConvertGridObject(string gridProperty)

        {

            . . . .

           foreach (KeyValuePair<string, object> ds in div)

            {

                . . . .


                //Check and retrieve additional property here

                if (ds.Key == "gridDataSource")

                {                   

                    string serialize = serializer.Serialize(ds.Value);

                    gridProp.DataSource = serializer.Deserialize<List<ExportData>>(serialize); //Deserialize the grid dataSource with checkbox field

                    continue;

                }

                . . . .
       }

public void ExportToExcel(string GridModel)

        {

           

            GridProperties gridPropert = ConvertGridObject(GridModel);

            ExcelExport exp = new ExcelExport();

            exp.Export(gridPropert, (IEnumerable)gridPropert.DataSource, "Export.xlsx", ExcelVersion.Excel2010, false, false, "flat-lime");//pass the obtained data from client to the export method


        }


We have modified the sample with the above solution, which can be downloaded from below location.

Sample Link: http://www.syncfusion.com/downloads/support/forum/121846/ze/Modified_MVCGrid-1498264692

Regards,
Ragavee U S.

Todd M
Replied On February 4, 2016 09:22 AM

Thank you gentlemen. Everything works perfectly now!

Ragavee U S [Syncfusion]
Replied On February 4, 2016 11:14 PM

Hi Todd,

Thanks for your update.

We are happy that your requirement is achieved.

Regards,
Ragavee U S.

Clément Sébillet
Replied On February 10, 2017 04:28 AM

Hi,


And i have an error while testing the export, here is the error i get:

Ligne 60 :             GridProperties gridPropert = ConvertGridObject(GridModel);
Ligne 61 :             ExcelExport exp = new ExcelExport();
Ligne 62 :             exp.Export(gridPropert, (IEnumerable)gridPropert.DataSource , "Export.xlsx", ExcelVersion.Excel2010, false, false, "flat-lime");
Ligne 63 : 
Ligne 64 :         }


Error message: "Détails de l'exception: System.FormatException: The string must have a length of one and only one character."

Do you know why i'm having this error?

Thanks by advance!

Best regards.

Farveen Sulthana Thameeztheen Basha [Syncfusion]
Replied On February 13, 2017 07:42 AM

Hi Clement,  
 
Thanks for your interest in syncfusion support.  
 
We are unable to reproduce your reported issue “Détails de l'exception: System.FormatException: The string must have a length of one and only one character"  at our end.  Could you please share us the following details to find the cause of the issue.   
   
            1.   Please share us the full stacktrace of this issue.  
            2.   Replication procedure for this issue.  
            3.   Are you using  the code example provided by us  in your project . If so, Please share your Grid     code example both in view and controller side.  
            4.  Essential studio and browser version details  
          5. Have you changed any code in the given application? Can you please send back the updated sample?  
  
  
The provided details will helps us to analyze and provide you solution as early as possible.  
  
  
Regards,  
  
  
Farveen sulthana T  
 


Clément Sébillet
Replied On February 14, 2017 03:41 AM

Hello and thanks for taking your time to help me, here is the details:

1 Full stacktrace of this issue:

[FormatException: La chaîne doit avoir une longueur d'un et un seul caractère.]
   System.Convert.ToChar(String value, IFormatProvider provider) +12271516
   Syncfusion.XlsIO.Implementation.ApplicationImpl..ctor(ExcelEngine excelEngine) +1685
   Syncfusion.XlsIO.ExcelEngine..ctor() +46
   Syncfusion.EJ.Export.GridExcelExport.InitializeExcel(GridProperties model, IWorkbook book) +40
   Syncfusion.EJ.Export.GridExcelExport.ExecuteResult(GridProperties GridModel, Object dataSource) +410
   Syncfusion.EJ.Export.GridExcelExport.ExportHelper(GridProperties gridModel, Object dataSource) +599
   Syncfusion.EJ.Export.GridExcelExport.Export(GridProperties gridModel, Object dataSource, Boolean multipleExport) +18
   Syncfusion.EJ.Export.ExcelExport.Export(GridProperties gridmaodel, Object datasource, String excelname, ExcelVersion excelversion, Boolean isHideColumnIncude, Boolean isTemplateColumnIclude, String theme) +101
   Syncfusion.EJ.Export.ExcelExport.Export(GridProperties gridmaodel, IEnumerable datasource, String excelname, ExcelVersion excelversion, Boolean isHideColumnIncude, Boolean isTemplateColumnIclude, String theme) +30
   MVCGrid.Controllers.GridController.ExportToExcel(String GridModel) in C:\Users\clément\Desktop\Apprentissage cours\MVCGrid\Controllers\GridController.cs:62
   lambda_method(Closure , ControllerBase , Object[] ) +104
   System.Web.Mvc.<>c__DisplayClass1.<WrapVoidAction>b__0(ControllerBase controller, Object[] parameters) +14
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +157
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
   System.Web.Mvc.Async.AsyncControllerActionInvoker.<BeginInvokeSynchronousActionMethod>b__36(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +22
   System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +32
   System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3c() +50
   System.Web.Mvc.Async.<>c__DisplayClass45.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3e() +225
   System.Web.Mvc.Async.<>c__DisplayClass30.<BeginInvokeActionMethodWithFilters>b__2f(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +34
   System.Web.Mvc.Async.<>c__DisplayClass28.<BeginInvokeAction>b__19() +26
   System.Web.Mvc.Async.<>c__DisplayClass1e.<BeginInvokeAction>b__1b(IAsyncResult asyncResult) +100
   System.Web.Mvc.Async.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +27
   System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +13
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +36
   System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller) +12
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +22
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +26
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__4(IAsyncResult asyncResult, ProcessRequestState innerState) +21
   System.Web.Mvc.Async.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult) +29
   System.Web.Mvc.Async.WrappedAsyncResultBase`1.End() +49
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +28
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9765121
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

2 Procedure:
Step 1: I downloaded the MVCGrid sample i linked before
Step 2: I tried to run it but i had error on the assembly version so i modify them from this:
        <add assembly="Syncfusion.Compression.Base, Version=13.4450.0.53, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ, Version=13.4450.0.53, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.Mvc, Version=13.4500.0.53, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Linq.Base, Version=13.4450.0.53, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.XlsIO.Base, Version=13.4450.0.53, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />

To this:
        <add assembly="Syncfusion.Compression.Base, Version=14.4451.0.15, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ, Version=14.4451.0.15, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.EJ.Mvc, Version=14.4500.0.15, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.Linq.Base, Version=14.4451.0.15, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />
        <add assembly="Syncfusion.XlsIO.Base, Version=14.4451.0.15, Culture=neutral, PublicKeyToken=3d67ed1f87d44c89" />

And then the project is running without error and it can display the Grid correctly.

Step 3: I check some rows (i tested it without checking row and the result is the exact same error)
Step 4: I click on the excel export button from the Grid and the error show up

3/5 Upload project: I uploaded my project so you can see that i only change the assembly version in the web.config

4 Browser version: Google chrome Version 56.0.2924.87 (64-bit)
Essential studio version: v14.4.0.15

If you need more details i can post what you need.

Thanks again, have a nice day


Attachment: MVCGridWithError_5710da6a.rar

Clément Sébillet
Replied On February 20, 2017 02:52 AM

Ok, do you have any link to follow the incident 172922? 
I don't know where to find this post on your forum..

Farveen Sulthana Thameeztheen Basha [Syncfusion]
Replied On February 21, 2017 10:56 PM

Hi Clement, 
 
A support incident has been created under your account to resolve the issue. Please log on to our support website to check for further updates.  
 
 
 
Regards                                                                                                    
Farveen sulthana T.
 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.

;