列菜单
Grid允许您为其列设置菜单。它使您能够执行高级定制,如排序,过滤,显示或隐藏列和冻结或解冻他们。
Telerik列菜单的网格
在本文中:
基础知识
启用列菜单ShowColumnMenu
参数。< TelerikGrid >
标签真正的
.这将为Grid的每一列启用菜单。
若要禁用网格中特定列的列菜单,请设置ShowColumnMenu
列的参数假
.
控件中可以看到列菜单可以做什么以及如何控制其设置特性部分。默认情况下,所有这些都是启用的。
为所有Grid列启用列菜单。结果如上图所示。
@*设置ShowColumnMenu参数为true *@ @code {public IEnumerable MyData = Enumerable。范围(30)。选择(x => new SampleData {Id = x, Name = " Name " + x, Team = " Team " + x % 5, HireDate = DateTime.Now.AddDays(-x)。日期});公共类SampleData{公共int Id{获取;设置;}公共字符串名称{获取;设置; } public string Team { get; set; } public DateTime HireDate { get; set; } } }
特性
控制的共同特点列菜单
使用< GridColumnMenuSettings >
,嵌套在< GridSettings >
:
排序
要从“列菜单”中删除排序选项,请设置可分类的
参数。GridColumnMenuSettings
标签假
.
过滤
要控制是否可以从列菜单进行过滤,请设置FilterMode
参数。GridColumnMenuSettings
属性的成员ColumnMenuFilterMode
枚举:
没有一个
-禁止从列菜单中过滤。FilterMenu
-启用过滤器菜单应用过滤。
冻结的列
若要从“列菜单”中禁用对列的锁定和解锁,请设置可锁定的
列的参数假
.
列选择器
列菜单中的列选择器,允许您从列菜单切换网格列的可见性。的目录下所有列都是可见的列
部分的列菜单(单击Columns项展开它)。
的应用按钮将根据当前复选框的值设置列的可见性,并关闭列菜单。的重置按钮将使复选框值恢复到打开列菜单时的状态。此时,用户可以重新开始,单击应用或单击列菜单外将其关闭。
要禁用列选择器,请设置ShowColumnChooser
参数。< GridColumnMenuSettings >
来假
.
要从列选择器中隐藏列,请设置VisibleInColumnChooser
属性的值假
.
部分
控件中的列可以进行组织列选择器在不同的部分。将列分组到不同的部分:
使用
GridColumnMenuChooser
标记的子元素GridColumnMenuSettings
)添加模板标签
提供
GridColumnMenuChooserGroup
哪个是应该在该节中的列的集合- 您可以使用
标题
参数来呈现section的Title
- 您可以使用
使用
GridColumnMenuChooserItem
来表示组中应包含的列您必须使用set
ColumnId
参数。GridColumnMenuChooserItem
的值Id
参数对应的网格列。如果你设置
标题
参数。GridColumnMenuChooserItem
的值标题
参数对应的网格列。
在列选择器中按节组织列
在列选择器中组织某些部分的列。分别使用GridColumn和GridColumnMenuChooserItem的Id和ColumnId参数进行关联。*@ @code { public IEnumerable MyData = Enumerable.Range(1, 30).Select(x => new SampleData { Id = x, FirstName = $"FirstName {x}", LastName = $"LastName {x}", CompanyName = $"Company {x}", Team = "team " + x % 5, HireDate = DateTime.Now.AddDays(-x).Date }); public class SampleData { public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public string CompanyName { get; set; } public string Team { get; set; } public DateTime HireDate { get; set; } } }
列菜单功能设置示例
使用GridColumnMenuSettings标记来控制列菜单的公共特性,使用列参数来影响其与列菜单的关系
@*禁用过滤和锁定列,从选择器(Team)中隐藏列,禁用列(Name)的菜单。*@ @code { public IEnumerable MyData = Enumerable.Range(1, 30).Select(x => new SampleData { Id = x, Name = "name " + x, Team = "team " + x % 5, HireDate = DateTime.Now.AddDays(-x).Date }); public class SampleData { public int Id { get; set; } public string Name { get; set; } public string Team { get; set; } public DateTime HireDate { get; set; } } }
列菜单,过滤,锁定和排序,但没有列选择器
笔记
将设置应用到网格列,如
滤过性的= " false "
,可分类的= " false "
,可锁定的= " false "
将优先于应用于< GridColumnMenuSettings >
并为相应列禁用上述功能。属性时,将引发异常
FilterMode
的值设置为FilterRow
并且使用了列菜单——这两个特性的过滤器描述符不兼容。如果网格有冻列(
锁= " true "
),该列不能从列菜单中解冻。