This question is locked. New answers and comments are not allowed.
I'm populating a simple grid from a DataTable.
When I apply GridColumnSettings the filters have no options in the dropdownmenu in the filterdialog so obviously I cannot filter.
The filter options in the dropdown (starts with, equal, contains etc) shows up fine when I out-comment the .columns line as in the View below, but when filtering I get an error (see below)
The View:
And here's the Actions that populate the GridColumnSettings
The error when trying to filter:
Thanks for any help in this matter.
Simon
When I apply GridColumnSettings the filters have no options in the dropdownmenu in the filterdialog so obviously I cannot filter.
The filter options in the dropdown (starts with, equal, contains etc) shows up fine when I out-comment the .columns line as in the View below, but when filtering I get an error (see below)
The View:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Data.DataTable>" %><asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server"> grid</asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"><%= Html.Telerik().Grid(Model) .Name("Grid") //.Columns(c => c.LoadSettings((IEnumerable<GridColumnSettings>)ViewData["columns"])) .Filterable() %></asp:Content>And here's the Actions that populate the GridColumnSettings
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using FDBTelerik.Models;using Telerik.Web.Mvc;using Telerik.Web.Mvc.Extensions;using Telerik.Web.Mvc.UI;using System.Collections;using System.IO;using System.Text;using System.Data;namespace FDBTelerik.Controllers{ [HandleError] public class HomeController : Controller { public ActionResult grid() { var columns = new[]{ new GridColumnSettings { Member = "0", Title = "Klub" }, new GridColumnSettings { Member = "1", Title = "Fornavn" }, new GridColumnSettings { Member = "2", Width = "10", Title = "Efternavn", Hidden = true }, new GridColumnSettings { Member = "3", Width = "10", Title = "Email", Visible = true }, new GridColumnSettings { Member = "4", Width = "10", Title = "Idræt", Visible = true } }; ViewData["columns"] = columns;
parseTsvTextFile DataParser = new parseTsvTextFile(); DataTable table = DataParser.PopulateDataTableFromTextFile(Server.MapPath("/Content/FDBData.xls")); return View(table); }The error when trying to filter:
Server Error in '/' Application.Provided expression should have string typeParameter name: stringExpressionDescription: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.ArgumentException: Provided expression should have string typeParameter name: stringExpressionSource Error:Line 6: Line 7: <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">Line 8: <%= Html.Telerik().Grid(Model)Line 9: .Name("Grid")Line 10: //.Columns(c => c.LoadSettings((IEnumerable<GridColumnSettings>)ViewData["columns"]))Source File: e:\Users\simon\Desktop\FDBTelerik\FDBTelerik\Views\Home\grid.aspx Line: 8Stack Trace:[ArgumentException: Provided expression should have string typeParameter name: stringExpression] Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.ExpressionFactory.LiftStringExpressionToEmpty(Expression stringExpression) +147 Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.GenerateCaseInsensitiveStringMethodCall(MethodInfo methodInfo, Expression left, Expression right) +16 Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.FilterOperatorExtensions.CreateExpression(FilterOperator filterOperator, Expression left, Expression right) +185 Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorExpressionBuilder.CreateBodyExpression() +291 Telerik.Web.Mvc.FilterDescriptor.CreateFilterExpression(ParameterExpression parameterExpression) +134 Telerik.Web.Mvc.FilterDescriptorBase.CreateFilterExpression(Expression instance) +32 Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression() +156 Telerik.Web.Mvc.Infrastructure.Implementation.Expressions.FilterExpressionBuilder.CreateFilterExpression() +17 Telerik.Web.Mvc.Extensions.QueryableExtensions.Where(IQueryable source, IEnumerable`1 filterDescriptors) +166 Telerik.Web.Mvc.Extensions.QueryableExtensions.ToGridModel(IQueryable queryable, Int32 page, Int32 pageSize, IList`1 sortDescriptors, IEnumerable`1 filterDescriptors, IEnumerable`1 groupDescriptors) +70 Telerik.Web.Mvc.Extensions.QueryableExtensions.ToGridModel(GridDataTableWrapper enumerable, Int32 page, Int32 pageSize, IList`1 sortDescriptors, IEnumerable`1 filterDescriptors, IEnumerable`1 groupDescriptors) +219 Telerik.Web.Mvc.UI.GridDataProcessor.EnsureDataSourceIsProcessed() +155 Telerik.Web.Mvc.UI.GridHtmlBuilder`1.CreateBody() +102 Telerik.Web.Mvc.UI.GridHtmlBuilder`1.BuildCore() +285 Telerik.Web.Mvc.UI.HtmlBuilderBase.Build() +28 Telerik.Web.Mvc.UI.Grid`1.WriteHtml(HtmlTextWriter writer) +571 Telerik.Web.Mvc.UI.ViewComponentBase.ToHtmlString() +86 Telerik.Web.Mvc.UI.ViewComponentBuilderBase`2.ToHtmlString() +22 Telerik.Web.Mvc.UI.ViewComponentBuilderBase`2.ToString() +5 System.Web.HttpWriter.Write(Object obj) +27 System.Web.Mvc.SwitchWriter.Write(Object value) +15 System.Web.UI.HtmlTextWriter.Write(Object value) +37 ASP.views_home_grid_aspx.__RenderContent2(HtmlTextWriter __w, Control parameterContainer) in e:\Users\simon\Desktop\FDBTelerik\FDBTelerik\Views\Home\grid.aspx:8 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 System.Web.UI.Control.Render(HtmlTextWriter writer) +10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in e:\Users\simon\Desktop\FDBTelerik\FDBTelerik\Views\Shared\Site.Master:21 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 System.Web.UI.Control.Render(HtmlTextWriter writer) +10 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208 System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8 System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +55 System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27 System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100 System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1Thanks for any help in this matter.
Simon