NullReferenceException excelexport сетка синхронизации

Я использую ASP .Net MVC angular js, синхронизирующую сетку.

Эта ошибка возникает, когда поток данных сетки фильтруется, но работает, если фильтр не применяется. Мне нужно отфильтровать сетку, чтобы о ней не могло быть и речи.

мой фильтр имеет такой код:

 

obj.filterColumn("ClientID", "equal", Id_ "and", true);

моя сетка:

jQuery("#myGrid").ejGrid({
           dataSource: dataManager,
           columns: cols,
           allowSelection: true,
           enableAltRow: false,
           enableRowHover: true,
           isResponsive: true,
           allowSearching: true,
           selectionSettings: { selectionMode: ["row"] },
           allowFiltering: true,
           allowSorting: true,
           allowScrolling: true,
           allowResizeToFit: true,
           allowPaging: true,
           pageSettings: { pageSize: 12 },
           toolbarSettings: { showToolbar: true, toolbarItems: [ej.Grid.ToolBarItems.ExcelExport] },
           toolbarClick: function (e) {
               this.exportGrid = this["export"];
               if (e.itemName == "Excel Export") {
       
                   this.exportGrid('/MyController/ExportToExcel')
                   e.cancel = true;
               
           },

экспорт js:

  var gridObj = $("#myGrid").data("ejGrid");
  gridObj.export(url);

контроллер:

[System.Web.Http.ActionName("ExcelExport")]
        [AcceptVerbs("POST")]
        public void ExportToExcel()
        {
            string gridModel = HttpContext.Request.Params["GridModel"];
            GridProperties gridProperty = ConvertGridObject(gridModel);

            ExcelExport exp = new ExcelExport();
            var items = _svc.GetItems(someFilters);
            exp.Export(gridProperty, items, "Export.xlsx", ExcelVersion.Excel2010, false, false, "flat-saffron"); //the error i in this line
        }

трассировки стека:

[NullReferenceException: Object reference not set to an instance of an object.]
   Syncfusion.JavaScript.DataSources.DataOperations.PerformFiltering(IEnumerable dataSource, List`1 filteredColumns) +193
   Syncfusion.JavaScript.DataSources.DataOperations.Execute(IEnumerable dataSource, GridProperties property) +61
   Syncfusion.EJ.Export.GridExcelExport.ExecuteResult(GridProperties GridModel, Object dataSource) +431
   Syncfusion.EJ.Export.GridExcelExport.ExportHelper(GridProperties gridModel, Object dataSource) +777
   Syncfusion.EJ.Export.GridExcelExport.Export(GridProperties gridModel, Object dataSource, Boolean multipleExport) +20
   SwapZilla.Controllers.CollateralPostingController.ExportToExcel() in D:\Dev\MyProject\Controllers\MyController.cs:187
   System.Web.Mvc.<>c__DisplayClass1.<WrapVoidAction>b__0(ControllerBase controller, Object[] parameters) +15
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +252
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +34
   System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +33
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +56
   System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +76
   System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +370
   System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +370
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +57
   System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +32
   System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +184
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +50
   System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +24
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +64
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +50
   System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +38
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +50
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +607
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +134

Я уверен, что столбцы в сетке и источнике данных элементов совпадают, и это подтверждается тем фактом, что он экспортирует, если там gird не фильтруется. Кроме того, у них одинаковые строки, но я не думаю, что это имеет значение, потому что я пытался экспортировать строки элементов с количеством строк, отличным от сетки, и он экспортировался нормально.

Как я могу это исправить?


person user742102    schedule 08.12.2017    source источник


Ответы (1)


Я проверил ваш запрос и не могу воспроизвести указанную проблему. Пожалуйста, найдите образец ссылки ниже

Ссылка: http://www.syncfusion.com/downloads/support/forum/134986/ze/Exporting-743928412

Чтобы проверить, пожалуйста, предоставьте подробную информацию ниже,

  1. Поделитесь снимком экрана / видео проблемы, с которой вы столкнулись.
  2. Поделитесь информацией о версии Syncfusion Essential studio, которую вы используете.
  3. Поделитесь сведениями о столбцах, которые вы используете.
  4. Поделитесь информацией об адаптере, который вы используете, в сетке.
  5. Если возможно, воспроизведите проблему в прилагаемом выше образце.
person Mani shankar    schedule 11.12.2017