ilias
ilias

Reputation: 47

Create kendo grid with default attributes in asp.net

I use kendo ASP.NET MVC and I use kendo grids a lot. Most of the time I set the same attributes such as filtering with custom messages, grouping, paging etc. I was wondering if there was a way to set this default settings somewhere or create some kind of wrappers for some similar kendo grids.

Upvotes: 1

Views: 276

Answers (1)

Anastasios Selmani
Anastasios Selmani

Reputation: 3689

I have made several Html Extensions for grids, dropdowns and datepickers and I have cleaned my html a lot this way. Plus I have inserted language settings and global events. I am giving you an example of my general search result grid as a guide.

public static Kendo.Mvc.UI.Fluent.GridBuilder<T> SearchConfigGrid<T>(this HtmlHelper helper)
        where T : class
    {
        var gcw = "GridCommandWord";
        return helper.Kendo().Grid<T>()
            .Navigatable()
            .Scrollable(s => s.Enabled(true).Height("auto"))
            .HtmlAttributes(new { @class = "hide-vertical-scrollbar"})
            .NoRecords(_resources.GetResource(gcw, "NoRecordsFound"))
            .Groupable(groupable => groupable.Messages(m => m.Empty(_resources.GetResource(gcw, "GroupableMessage"))))
            .Sortable(sortable => sortable
                .SortMode(GridSortMode.MultipleColumn))
            .Filterable(filterable => filterable
                .Extra(false)
                .Operators(operators => operators
                    .ForString(str => str.Clear()
                        .StartsWith(_resources.GetResource(gcw, "StartsWith"))
                        .Contains(_resources.GetResource(gcw, "Contains"))
                        .IsEqualTo(_resources.GetResource(gcw, "IsEqualTo"))
                        .IsNotEqualTo(_resources.GetResource(gcw, "IsNotEqualTo")))
                    .ForDate(dt => dt.Clear()
                        .IsGreaterThan(_resources.GetResource(gcw, "IsGreaterThan"))
                        .IsGreaterThanOrEqualTo(_resources.GetResource(gcw, "IsGreaterThanOrEqualTo"))
                        .IsLessThan(_resources.GetResource(gcw, "IsLessThan"))
                        .IsLessThanOrEqualTo(_resources.GetResource(gcw, "IsLessThanOrEqualTo")))
                    .ForNumber(dt => dt.Clear()
                        .IsEqualTo(_resources.GetResource(gcw, "IsEqualTo"))
                        .IsNotEqualTo(_resources.GetResource(gcw, "IsNotEqualTo"))
                        .IsGreaterThan(_resources.GetResource(gcw, "IsGreaterThan"))
                        .IsGreaterThanOrEqualTo(_resources.GetResource(gcw, "IsGreaterThanOrEqualTo"))
                        .IsLessThan(_resources.GetResource(gcw, "IsLessThan"))
                        .IsLessThanOrEqualTo(_resources.GetResource(gcw, "IsLessThanOrEqualTo"))))
                .Messages(m => m.Info(_resources.GetResource(gcw, "Info"))
                    .And(_resources.GetResource(gcw, "And"))
                    .Or(_resources.GetResource(gcw, "Or"))
                    .Clear(_resources.GetResource(gcw, "Clear"))
                    .Filter(_resources.GetResource(gcw, "Filter"))
                    .CheckAll(_resources.GetResource(gcw, "CheckAll"))
                    .IsFalse("&nbsp;" + _resources.GetResource(gcw, "No"))
                    .IsTrue("&nbsp;" + _resources.GetResource(gcw, "Yes") + "&nbsp;&nbsp;&nbsp;")
                    .Info(_resources.GetResource(gcw, "ShowRecords"))
                    .SelectedItemsFormat(_resources.GetResource(gcw, "SelectedItemsFormat"))))
            .Pageable(pageable => pageable
                .Refresh(true)
                .PageSizes(true)
                .ButtonCount(5)
                .Messages(m => m
                    .Display(_resources.GetResource(gcw, "Display"))
                    .ItemsPerPage(_resources.GetResource(gcw, "ItemsPerPage"))
                    .Empty(_resources.GetResource(gcw, "Empty"))
                    .Page(_resources.GetResource(gcw, "Page"))
                    .Of(_resources.GetResource(gcw, "Of"))
                    .First(_resources.GetResource(gcw, "First"))
                    .Previous(_resources.GetResource(gcw, "Previous"))
                    .Next(_resources.GetResource(gcw, "Next"))
                    .Last(_resources.GetResource(gcw, "Last"))
                    .Refresh(_resources.GetResource(gcw, "Refresh"))
                    .MorePages(_resources.GetResource(gcw, "MorePages"))));
    }

Upvotes: 3

Related Questions