I have a Session object. Each Session can be related to many Templates and each template has a list of Items (like an Enum list). Users can define a Template and its List of enums. The fun is that the user needs to filter on these dynamic properties and I'm trying to figure out how to do it. I need your help.
Template 1
- List Item 1
- List Item 2
- List Item 3
In the field list I need the list of Templates... which is dynamic. Right now, I have "Name". I need "Template 1", "Template 2", etc. Then, I need a pick list for each of them based on their own Items. So, select template 1 and filter on List Item 1. Give me all the sessions where Template 1's value is List Item 1. How do I do this in your Filter control.
Also, a side note. There is NO documentation on how to define the Html.Kendo().DataSource object. I don't believe my example works. I actually have the values in the MODEL and would like to just use the given values without needing to perform an Action.
View:
@(Html.Kendo().DataSource<SessionOptionTemplate> ()    .Name("templateDataSource")    .Ajax(d => d.Read(        r => r.Action("Templates", "Sessions"))))     @(Html.Kendo().Filter<SessionOptionTemplate>()    .Name("filter")    .MainLogic(FilterCompositionLogicalOperator.Or)    .ApplyButton()    .ExpressionPreview()    .Fields(f =>    {        f.Add(p => p.Name).Label("Name");    })    .DataSource("templateDataSource"))Controller:
public async Task<IActionResult> Templates(    [DataSourceRequest] DataSourceRequest request){    var dsResult = await profileService.SessionOptionTemplates.ToDataSourceResultAsync(request);    return Json(dsResult);}
Template:
public partial class SessionOptionTemplate{    public int Id { get; set; }    [MaxLength(50)]    public string Name { get; set; }    [MaxLength(128)]    public string Description { get; set; }    public int Order { get; set; }    public DateTime AddTimestamp { get; set; } = DateTime.UtcNow;    public DateTime? DeactivateTimestamp { get; set; }    public ICollection<SessionOptionItem> SessionOptionItems { get; set; } = new HashSet<SessionOptionItem>();}
Items:
public partial class SessionOptionItem{    [Key]    public int Id { get; set; }    public int SessionOptionTemplateId { get; set; }    [MaxLength(50)]    public string Name { get; set; }    [MaxLength(128)]    public string Description { get; set; }    public DateTime AddTimestamp { get; set; } = DateTime.UtcNow;    public DateTime? DeactivateTimestamp { get; set; }}
