igGrid - All Features Enabled



Description

This sample demonstrates igGrid paging, sorting, and filtering all enabled at the same time. For greater flexibility, the order of the behavior operation may be dictated by the order the behaviors are added to the features collection in the grid model.


View Code

                <%= Html.IGGrid("grid1", Model.AllFeaturesModel) %>

                 <%= Html.IGRenderScripts() %>


Controller Code

    public ActionResult AllFeatures()

    {

        MyGridModel model = new MyGridModel();

        model.AllFeaturesModel.DataSourceUrl = Url.Action("GetDataAllFeatures");

        this.InitializeAllFeaturesGridOptions(model.AllFeaturesModel);

        return View(model);

    }

    

    public JsonResult GetDataAllFeatures()

    {

        MyGridModel model = new MyGridModel();

        this.InitializeAllFeaturesGridOptions(model.AllFeaturesModel);

        var adventureWorksDataContext = new AdventureWorksDataContext();

        model.AllFeaturesModel.DataSource = adventureWorksDataContext.Products;

        return model.AllFeaturesModel.GetData();

    }

    

    private void InitializeAllFeaturesGridOptions(GridModel model)

    {

        model.Height = "500px";

        // add columns

        model.Columns.Add(new GridColumn("Product ID", "ProductID", "number", "150px"));

        model.Columns.Add(new GridColumn("Product Name", "Name", "string", "300px"));

        model.Columns.Add(new GridColumn("Product Number", "ProductNumber", "string", "250px"));

        model.Columns.Add(new GridColumn("Standard Cost", "StandardCost", "number", "200px"));

    

        // Add Filtering feature

        GridFiltering filtering = new GridFiltering();

        model.Features.Add(filtering);

    

        GridSorting sorting = new GridSorting();

        model.Features.Add(sorting);

    

        GridPaging paging = new GridPaging();

        model.Features.Add(paging);

    

        model.Virtualization = false;

    }


Model Code

     public class MyGridModel

    {

        public MyGridModel()

        {

            GridFilteringModel = new GridModel();

            GridOrdersModel = new GridModel();

            GridPagingModel = new GridModel();

            GridSortingModel = new GridModel();

            GridVirtualization = new GridModel();

            AllFeaturesModel = new GridModel();

        }

        public GridModel GridFilteringModel { get; set; }

    

        public GridModel GridVirtualization { get; set; }

    

        public GridModel GridOrdersModel { get; set; }

    

        public GridModel GridPagingModel { get; set; }

    

        public GridModel GridSortingModel { get; set; }

    

        public GridModel AllFeaturesModel { get; set; }

    }