2017-08-20 2 views
0

Telerik Kendo MVC Grid - How do I set onload/initial filter equals True with checkbox columns?Définir le filtre initial sur une colonne de champ booléen de la charge

Je suis en train de définir un filtre de colonne Vrai/Faux True de la charge initiale. Mon Viewmodel a une propriété bool appelée IsHoliday. J'ai suivi l'exemple dans le lien ci-dessus mais je n'ai aucun enregistrement dans la grille au démarrage. Mon action de lecture renvoie un JSON de IEnumerable comme suggéré dans le lien référencé. Mon point de vue est comme suit:

@(Html.Kendo().Grid<HolidayVM>() 
.Name("h_grid") 
.Editable(editable => editable.Mode(GridEditMode.PopUp)) 
.DataSource(dataSource => dataSource 
    .Ajax() 
    .PageSize(15) 
    .ServerOperation(false) 
    .Events(events => events.Error("grid_error")) // Handle the "error" event 
    .Model(model => 
    { 
     model.Id(m => m.Date); 
     model.Field(m => m.Date).Editable(false); 
    }) 
    .Filter(f => f.Add(m => m.IsHoliday.Equals(true))) 
    .Read(read => read.Action("Holiday_Read", "Holiday")) 
    .Update(up => up.Action("Holiday_Update", "Holiday").Data("grid_sendAntiForgery")) 
) 
.Columns(columns => 
{ 
    columns.Bound(p => p.Date).Width(30).Format("{0:dd-MMMM}"); 
    columns.Bound(p => p.HolidayText).Width(100).Filterable(false); 
    columns.Bound(p => p.IsHoliday) 
    .ClientTemplate("<input type='checkbox' #= IsHoliday ? '' : checked='checked' # disabled='disabled' />") 
     .Filterable(ftb => ftb.Cell(cell => cell.Operator("Is equal to")))   
     .Width(30); 
    columns.Command(cmd => 
    { 
     cmd.Edit().HtmlAttributes(new { title = "Edit" }); 
    }).Title("Commands").Width(25); 
}) 
.Pageable() 
.Sortable() 
) 

Idéalement j'aimerai ma grille pour ressembler à l'image ci-joint, de la charge, avec IsHoliday définie sur True Grid on initial load

Répondre

0

J'ai finalement compris.

.Filter(f => f.Add(m => m.IsHoliday).IsEqualTo(true)) 

au lieu de

.Filter(f => f.Add(m => m.IsHoliday.Equals(true)))