跳至正文
首页 » 博客 » Enable Ignite UI for JavaScript Grid Features in ASP.NET MVC Applications

Enable Ignite UI for JavaScript Grid Features in ASP.NET MVC Applications

Ignite UI for JavaScript控件与ASP.NET MVC应用程序无缝协作。只需使用几行代码,就可以将高性能Ignite UI for JavaScript Grid的强大功能引入ASP.NET MVC应用程序。

除了无缝呈现大型数据集之外,Ignite UI for JavaScript网格还加载了许多其他功能,如筛选、分页和排序。在这篇博客文章中,您将学习如何在网格上配置各种重要功能,包括排序、筛选和分页。这些功能可用作本地客户端功能或远程服务器端功能。在这篇文章中,我们将重点介绍这些功能的本地版本; 远程版本将在以后的文章中介绍。

要开始,请按照最近的博客文章 “ 添加Ignite UI for JavaScript网格到ASP.NET MVC应用程序 ” 中的步骤操作。完成后,应用程序将显示在Ignite UI网格中呈现的学生数据表。

从这里开始,我们将在这个网格上启用各种功能。请记住,在这篇文章中,您将学习使用GridModel类选项启用各种功能。(我们将在以后的博客文章中学习使用链接语法选项启用各种功能。)

启用分页

您可以通过向网格添加 “分页” 的功能配置对象,在Ignite UI for JavaScript网格上启用分页。在GridModel类方法中,要在控制器中启用分页,请添加下面列出的代码:

GridPaging分页 = 新建GridPaging();PageSize = 3;paging.Type = OpType.Local;studentGrid.Features.Add (分页);

与在GridModel类中一样,GridPaging类是Infragistics.Web.Mvc的一部分。在上面的代码片段中,您正在创建GridPaging类的实例,并设置所需的属性,如PageSize (设置每页的记录数) 和Type (本地或远程)。要启用分页功能,您需要将GridPaging对象添加到GridModel功能列表中。

把所有的东西放在一起,你的控制器中的索引方法应该是这样的:

公共ActionResult索引 (){StudentsEntities模型 = StudentsEntities();IQueryable studentsData = model.Students.ToList().AsQueryable(); GridModel studentGrid = GridModel(); studentGrid.ID = "studentgrid"; studentGrid.PrimaryKey = "Id" ";gridPaging分页 = 新建GridPaging(); 分页.PageSize = 3; 分页.Type = OpType.Local; studentGrid.Features.Add (分页); 返回视图 (studentGrid); } 

视图的代码中不会有任何更改。当您运行应用程序时,您将看到一个配置为分页的网格:

启用排序

您可以通过向网格添加 “排序” 功能的功能配置对象,在Ignite UI for JavaScript网格中启用排序。在GridModel类方法中,要向网格添加排序,请将下面列出的代码添加到控制器的Index方法中:

GridSorting排序 = 的GridSorting();sorting.Type = OpType.Local;sorting.Mode = SortingMode.Multiple;studentGrid.Features.Add (排序);

GridSorting类是Infragistics.Web.Mvc的一部分。在上面的代码片段中,您正在创建GridSorting类的实例,并设置所需属性 (如Type和Mode) 的值。Type属性的值确定是本地排序还是远程排序,Mode属性的值确定是对单列还是多列启用排序。如果已对多个列启用排序,则可以对多个列的网格进行排序。例如,您可以在 “年龄” 列中对网格进行排序,然后在 “名称” 列中添加辅助排序。这里,该值被设置为允许对多个列进行排序。要启用排序功能,您需要将GridSorting对象添加到GridModel功能列表中。

把所有的东西放在一起,你的控制器的索引方法现在应该是这样的;

公共ActionResult索引 (){StudentsEntities模型 = StudentsEntities();IQueryable studentsData = model.Students.ToList().AsQueryable(); GridModel studentGrid = GridModel(); studentGrid.ID = "studentgrid"; studentGrid.PrimaryKey = "Id" ";gridPaging分页 = 的GridPaging(); 分页.PageSize = 3; 分页.Type = OpType.Local; studentGrid.Features.Add (分页); GridSorting排序 = 的GridSorting(); 排序.Type = OpType.Local; 排序.Mode = SortingMode.Multiper;studentGrid.Features.Add (排序); 返回视图 (studentGrid); } 

在上面的代码片段中,已经为网格启用了排序和分页功能。同样,由于我们使用的是GridModel方法,因此视图没有任何变化。运行应用程序时,您将看到一个配置了分页和排序的网格,如下所示:

启用筛选

您可以通过向网格添加用于 “过滤” 的功能配置对象,在JavaScript网格的Ignite UI上启用过滤。要在GridModel类方法中执行此操作,请将下面列出的代码添加到控制器的Index方法中:

GridFiltering filtering = 新建GridFiltering();filering.Mode = FilterMode.Simple;studentGrid.Features.Add(filering);

GridFiltering类是Infragistics.Web.Mvc的一部分。在上面的代码片段中,您正在创建GridFiltering类的实例并设置required属性模式的值。Mode属性的值确定筛选是高级还是简单。高级筛选器允许您根据等效性以及比较 (如大于、小于等) 筛选网格。在这种情况下,该值设置为simple以启用简单过滤。要启用过滤功能,您需要将GridFiltering对象添加到GridModel功能列表中。

把所有的东西放在一起,你的控制器的索引方法应该是这样的:

公共ActionResult索引 (){StudentsEntities模型 = StudentsEntities();IQueryable studentsData = model.Students.ToList().AsQueryable(); GridModel studentGrid = GridModel(); studentGrid.ID = "studentgrid"; studentGrid.PrimaryKey = "Id" ";gridPaging分页 = 的GridPaging(); 分页.PageSize = 3; 分页.Type = OpType.Local; studentGrid.Features.Add (分页); GridSorting排序 = 的GridSorting(); 排序.Type = OpType.Local; 排序.Mode = SortingMode.Multiper;studentGrid.Features.Add (排序); GridFiltering fillering = GridFiltering(); filering.Mode = FilterMode.Simple; studentGrid.Features.Add(filering); 返回视图 (studentGrid); } 

在上面的代码片段中,排序、过滤和分页功能都已为网格启用。

运行应用程序时,您将看到一个配置了分页,过滤和排序的网格,如下所示:

在本文中,您学习了如何在ASP.NET MVC应用程序的Ignite UI中为JavaScript网格添加各种功能。通过以下几个步骤,您可以将Ignite UI Grid的所有功能和功能引入MVC应用程序。

Ignite UI for JavaScript为您提供了60多个组件,这些组件可以通过几个非常简单的步骤集成到任何Web应用程序中。下载免费试用版以浏览组件

Ignite UI for JavaScript可用于构建出色的Angular应用程序。Ignite UI for JavaScript Angular Demp应用程序显示了使用所有客户端Ignite UI for JavaScript Angular组件 (如Angular中的网格和图表) 是多么容易。如果您是Angular的新手,或者只是想了解更多信息,请下载免费的Angular Essentials电子书

Dhananjay Kumar作为Infragistics的开发人员布道者。他是七次微软MVP。你可以在Twitter上找到他: @debug_mode</p