Blazor的Telerik UI?下载30天免费试用

多列标题

Grid允许您在一个标题下堆叠多个列,以便为最终用户可视化地对相关字段进行分组。

使用多个列标头:

  1. 定义一个GridColumn实例为所需的每个多列标头。设置它标题HeaderTemplate
  2. 在其> <列嵌套标记后,添加希望其包含的列。

属性,虽然可以设置此类多列标题列的所有参数,但它只支持和使用标题,和嵌套HeaderTemplate而且标签(模板)。

您将在本文中找到以下部分:

基本的例子

下面的代码片段展示了如何在多列标头中对Grid中的列进行分组。您还可以在根级别使用“常规”列,而不是所有列都必须是列组。

网格中的多个列标头

多列标题示例

@*查看根级别的GridColumn标签,它们有自己的Columns集合*@                             @code {public List GridData {get;设置;}公共类客户{公共int Id{获取;设置;}公共字符串PasswordHash{获取; set; } public string FirstName { get; set; } public string LastName { get; set; } public string CompanyName { get; set; } public bool HasCompanyContract { get; set; } public string Email { get; set; } public string Phone { get; set; } public string City { get; set; } } // generation of dummy data protected override void OnInitialized() { GridData = GenerateData(); } List GenerateData() { var data = new List(); string[] fNames = new string[] { "Nancy", "John", "Orlando", "Jane", "Bob", "Juan" }; string[] lNames = new string[] { "Harris", "Gates", "Smith", "Caprio", "Gash", "Gee" }; string[] cNames = new string[] { "Acme", "Northwind", "Contoso" }; string[] cities = new string[] { "Denver", "New York", "LA", "London", "Paris", "Helsinki", "Moscow", "Sofia" }; Random rnd = new Random(); for (int i = 0; i < 150; i++) { string fName = fNames[rnd.Next(0, fNames.Length)]; string lName = lNames[rnd.Next(0, lNames.Length)]; string cName = cNames[rnd.Next(0, cNames.Length)]; data.Add(new Customer { Id = i, PasswordHash = "not shown", FirstName = fName, LastName = lName, CompanyName = cName, HasCompanyContract = i % 3 == 0, Email = $"{fName}.{lName}@{cName}.com", Phone = $"{rnd.Next(100, 999)}-555-{rnd.Next(100, 999)}", City = cities[rnd.Next(0, cities.Length)] }); } return data; } }

具有其他功能的行为

本节解释使用多列标题如何改变其他组件功能的行为,或者某些特性如何使用多列标题。如果没有列出某个特性,则不受影响。

宽度

宽度参数的多列标题被忽略,它的宽度取决于它的子列宽度的和。

排序,过滤,分组,编辑

这些功能不适用于多列标题列,而只适用于实际的子列。

用于多列标头的列仅用于表示目的。它不使用参数,不能执行筛选、排序、分组、编辑等数据源操作,因为这些操作将跨越多个字段,而这是不可能的。

共享组标题下的单个列可以像往常一样进行排序、筛选、分组和编辑。

调整

多列标题可以调整大小,调整大小类似于标准列。

共享组标题下的单个列也可以调整大小。

可调整大小的参数为单个列和列组标头提供。

重新排序

列重排序遵循以下规则:

  • 根多头列可以与其他根多头列重新排序。
    • 重新排序一组列也会移动它的所有子列。
  • 单个列只能在其父组内重新排序。
    • 不同父列(和/或在不同级别上)的子列不能重新排序。

Reordable参数为单个列和列组标头提供。

列菜单

多标题列不会显示在上一级单独列的列选择器的列列表中。如果隐藏所有子列,父列也将隐藏。

状态管理

多标题列的状态处理方式与标准列相同。状态中的列按照定义的顺序列在平面列表中。例如,对于以下设置:

          

该州将:

列状态索引
0 第1列
1 专栏1.1
2 专栏1.2
3. 第2列

注意,这个顺序与blazor框架初始化列组件的顺序不同,它的目标是类似于与列定义匹配的人类可读的顺序。

锁定列

可以通过它来锁定整个多列标头锁着的参数。这样做将锁定它的所有子列。

因此,我们建议您不要设置锁= false对于锁定父列的子列,可以考虑设置可锁定的= false以防止用户解开它们,得到次优的布局。设置锁= true不支持子列。

键盘导航

多列标题中的键盘导航遵循Excel的功能。

另请参阅

在本文中
Baidu
map