冻结的列
Grid允许您冻结一个或多个列。这将允许用户在Grid中水平滚动,但仍然能够始终保持一些重要的列可见(例如ID或命令列)。
要启用列冻结,请设置锁着的
列的参数真正的
.
如果要冻结的列不是列表中的第一列,则网格必须是可滚动的。这要求有足够的列宽度
设置,使网格具有水平滚动条(列的宽度之和超过网格的宽度)。控件中有关网格滚动行为的详细信息栅格列宽度行为篇文章。
本文可以观察冻结不同栏目。为了清晰起见,这些例子被划分为不同的类型:
冻结第一列和最后一列
@if (!string.IsNullOrEmpty(Result)) {@Result} Information @code {private string Result {get;设置;} #region样本数据公共列表 GridData {get;设置;} DateTime StartDate =新的DateTime(2018, 1,1);static Random RandomGenerator = new Random();OnInitialized() {GridData = GenerateProducts();} private List GenerateProducts() {List products = new List(); for (int i = 1; i <= 100; i++) { var product = new Product() { ProductId = i, ProductName = "Product " + i.ToString(), SupplierId = i, UnitPrice = (decimal)(i * 3.14), UnitsInStock = (short)(i * 1), Discontinued = RandomGenerator.NextDouble() >= 0.5, CreatedAt = GetRandomDate(StartDate) }; products.Add(product); } return products; } private DateTime GetRandomDate(DateTime startDate) { int range = (DateTime.Today - startDate).Days; return startDate.AddDays(RandomGenerator.Next(range)); } public class Product { public int ProductId { get; set; } public string ProductName { get; set; } public int SupplierId { get; set; } public decimal UnitPrice { get; set; } public short UnitsInStock { get; set; } public bool Discontinued { get; set; } public DateTime CreatedAt { get; set; } } #endregion }
格子中间被冻结的柱子
@*你可以观察到一个冻结列的行为,既不是第一个,也不是最后一个*@ @code {private bool isFrozen {get;设置;} = false;private string结果{get;设置;} #region样本数据公共列表 GridData {get;设置;} static Random RandomGenerator = new Random();OnInitialized() {GridData = GenerateProducts(); } private List GenerateProducts() { List products = new List(); for (int i = 1; i <= 100; i++) { var product = new Product() { ProductId = i, ProductName = "Product " + i.ToString(), SupplierId = i, UnitPrice = (decimal)(i * 3.14), UnitsInStock = (short)(i * 1), }; products.Add(product); } return products; } public class Product { public int ProductId { get; set; } public string ProductName { get; set; } public int SupplierId { get; set; } public decimal UnitPrice { get; set; } public short UnitsInStock { get; set; } } #endregion }
限制
冻结的柱子提出了一些要求:
的
宽度
网格的必须被安置在px
单位。当一个列被冻结时(它已经
锁= " true "
),其宽度
必须在px
单位。