可见列
TreeList允许您以编程方式隐藏它的一些列。
在本文中:
基础知识
要隐藏甘特树列,请设置其可见
参数假
.要根据特定条件隐藏列,您可以传递,例如,三元运算符或返回的方法保龄球
-应用程序可以根据其逻辑(如屏幕大小)提供表达式。
@*通过设置Visible参数为false隐藏Id甘特树列*@ @code {public DateTime SelectedDate {get;设置;} = new DateTime(2019, 11,11,6,0,0);类FlatModel{公共int Id{获取;设置;}公共int?ParentId {get;设置;}公共字符串标题{获取; set; } public double PercentComplete { get; set; } public DateTime Start { get; set; } public DateTime End { get; set; } } public int LastId { get; set; } = 1; List Data { get; set; } protected override void OnInitialized() { Data = new List(); var random = new Random(); for (int i = 1; i < 6; i++) { var newItem = new FlatModel() { Id = LastId, Title = "Employee " + i.ToString(), Start = new DateTime(2020, 12, 6 + i), End = new DateTime(2020, 12, 11 + i), PercentComplete = Math.Round(random.NextDouble(), 2) }; Data.Add(newItem); var parentId = LastId; LastId++; for (int j = 0; j < 5; j++) { Data.Add(new FlatModel() { Id = LastId, ParentId = parentId, Title = " Employee " + i + " : " + j.ToString(), Start = new DateTime(2020, 12, 6 + i + j), End = new DateTime(2020, 12, 7 + i + j), PercentComplete = Math.Round(random.NextDouble(), 2) }); LastId++; } } base.OnInitialized(); } }
笔记
不可见的列(可见= " false "
)会有以下行为:
- 不会是可编辑的.
例子
在本节中,你会看到以下例子:
在按钮单击上切换列的可见性
的值可见
参数,这将切换列。
@*切换一个列的可见性将保持其在甘特树中的原始顺序。*@ 切换Id栏的显示 @code {public bool isVisible {get;设置;} public DateTime SelectedDate {get;设置;} = new DateTime(2019, 11,11,6,0,0);类FlatModel{公共int Id{获取;设置; } public int? ParentId { get; set; } public string Title { get; set; } public double PercentComplete { get; set; } public DateTime Start { get; set; } public DateTime End { get; set; } } public int LastId { get; set; } = 1; List Data { get; set; } protected override void OnInitialized() { Data = new List(); var random = new Random(); for (int i = 1; i < 6; i++) { var newItem = new FlatModel() { Id = LastId, Title = "Employee " + i.ToString(), Start = new DateTime(2020, 12, 6 + i), End = new DateTime(2020, 12, 11 + i), PercentComplete = Math.Round(random.NextDouble(), 2) }; Data.Add(newItem); var parentId = LastId; LastId++; for (int j = 0; j < 5; j++) { Data.Add(new FlatModel() { Id = LastId, ParentId = parentId, Title = " Employee " + i + " : " + j.ToString(), Start = new DateTime(2020, 12, 6 + i + j), End = new DateTime(2020, 12, 7 + i + j), PercentComplete = Math.Round(random.NextDouble(), 2) }); LastId++; } } base.OnInitialized(); } }
隐藏一个基于条件的甘特列
这个例子展示了根据数据中的简单条件隐藏列。您可以将其更改为使用其他视图模型数据—例如屏幕尺寸、存储的用户首选项或任何其他逻辑。
@* Id列被隐藏,因为甘特图的数据包含1 *@ x. id == 1)) ?错误:正确)"> @code {public bool isVisible {get;设置;} public DateTime SelectedDate {get;设置;} = new DateTime(2019, 11,11,6,0,0);类FlatModel{公共int Id{获取; set; } public int? ParentId { get; set; } public string Title { get; set; } public double PercentComplete { get; set; } public DateTime Start { get; set; } public DateTime End { get; set; } } public int LastId { get; set; } = 1; List Data { get; set; } protected override void OnInitialized() { Data = new List(); var random = new Random(); for (int i = 1; i < 6; i++) { var newItem = new FlatModel() { Id = LastId, Title = "Employee " + i.ToString(), Start = new DateTime(2020, 12, 6 + i), End = new DateTime(2020, 12, 11 + i), PercentComplete = Math.Round(random.NextDouble(), 2) }; Data.Add(newItem); var parentId = LastId; LastId++; for (int j = 0; j < 5; j++) { Data.Add(new FlatModel() { Id = LastId, ParentId = parentId, Title = " Employee " + i + " : " + j.ToString(), Start = new DateTime(2020, 12, 6 + i + j), End = new DateTime(2020, 12, 7 + i + j), PercentComplete = Math.Round(random.NextDouble(), 2) }); LastId++; } } base.OnInitialized(); } }