TreeList列事件
本文解释了用于Blazor的Telerik TreeList列的可用事件。
OnCellRender
此事件在呈现TreeLists列时触发。它接收一个类型的参数TreeListCellRenderEventArgs
它公开了以下字段:
项
-一个可以强制转换到模型类以获取当前数据项的对象。价值
—一个包含在TreeList单元格中呈现的值的对象。可以将其强制转换为其数据类型,例如转换为字符串
,DateTime
或者一个数字。类
-将应用于单元格的CSS类。为该类设置的CSS规则将可见地呈现在TreeList单元格上。
@*单元格的条件样式/格式*@ @code {void OnCellRenderHandler(TreeListCellRenderEventArgs) {var item = args。作为员工的项目;如果(args.Value.ToString()。Contains("first level")) {args.Class = "myCustomTreeListCellFormatting";}} public List Data {get;设置; } public class Employee { public List DirectReports { get; set; } public int Id { get; set; } public string Name { get; set; } public string EmailAddress { get; set; } public DateTime HireDate { get; set; } } public int LastId { get; set; } = 1; protected override async Task OnInitializedAsync() { Data = await GetTreeListData(); } async Task> GetTreeListData() { List data = new List(); for (int i = 1; i < 15; i++) { Employee root = new Employee { Id = LastId, Name = $"root: {i}", EmailAddress = $"{i}@example.com", HireDate = DateTime.Now.AddYears(-i), DirectReports = new List() }; data.Add(root); LastId++; for (int j = 1; j < 4; j++) { int currId = LastId; Employee firstLevelChild = new Employee { Id = currId, Name = $"first level child {j} of {i}", EmailAddress = $"{currId}@example.com", HireDate = DateTime.Now.AddDays(-currId), DirectReports = new List(), }; root.DirectReports.Add(firstLevelChild); LastId++; for (int k = 1; k < 3; k++) { int nestedId = LastId; // populate the parent's collection firstLevelChild.DirectReports.Add(new Employee { Id = LastId, Name = $"second level child {k} of {j} and {i}", EmailAddress = $"{nestedId}@example.com", HireDate = DateTime.Now.AddMinutes(-nestedId) }); ; LastId++; } } } return await Task.FromResult(data); } }