甘特边界列
本文解释了在甘特树中显示数据的基础知识及其绑定列的特性。
本文各部分:
在甘特图中显示数据
若要在甘特图中显示数据,必须定义GanttColumn
中的实例GanttColumns
要显示的数据源字段的集合。他们的场
参数定义列中显示的是模型中的哪个属性。可以将模型集合提供给Gantt数据
参数。
由于甘特图是为分层数据设计的,因此还应该定义哪一列将保存子项目的展开/折叠箭头。它可以是任何列,不一定是第一列,你可以通过设置它来表示它可扩展的
参数真正的
。
中的数据字段和子元素绑定甘特图的更多详细信息数据绑定概述篇文章。它提供了关于模型特征的信息,并以两种不同的方式描述了父子关系。
向甘特图提供数据,并选择要查看的列(字段)
@*定义数据Gantt图的模型和列*@ GanttViews> GanttColumn> @code {public DateTime SelectedDate {get;设置;} = new DateTime(2019, 11,11,6,0,0);类FlatModel{公共int Id {get;设置;} public 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(); } }
也可以使用字符串作为字段名,使用
nameof
不需要操作符。的field name is, however,区分大小写的。
的
数据
集合可以是ObservableCollection
,数组,a列表
-它必须只执行IEnumerable
。
甘特约束列参数
Blazor Gantt Bound Column提供了各种参数来配置组件。也可以查看甘特公共API。
数据绑定
参数 | 类型 | 描述 |
---|---|---|
可扩展的 |
保龄球 |
当设置为true时,该列在值前面显示展开/折叠箭头,并表示打算使用它的层次结构。将其设置为树列表的至少一列,以显示数据的层次结构特性。 |
场 |
字符串 |
数据源中字段的名称,列将以字符串形式呈现该字段(区分大小写)。将其设置为普通字符串(场= " SomeField " )或让。net从平面模型的模型中提取字段名(字段= @nameof (MyModelClass.SomeFIeld) ). |
外观
参数 | 类型和默认值 | 描述 |
---|---|---|
标题 |
字符串 |
在列标题中呈现的文本。请参阅下面的注释了解它的行为。 |
DisplayFormat |
字符串 |
c#格式字符串,用于在网格处于显示模式时呈现单元格中的字段值。阅读更多列显示格式篇文章。 |
TextAlign |
ColumnTextAlign 枚举( 左 ) |
指定单元格文本的水平对齐方式。 |
宽度 |
字符串 |
列的宽度。看到维文章获取有关支持格式的信息。看到甘特列宽度行为有关不同列宽配置下的甘特行为的详细信息。 |
MinResizableWidth |
int ( 30. ) |
期间允许的最小列宽度用户调整。不像弦宽度 属性,这个是十进制的,需要像素值。 |
MaxResizableWidth |
int |
期间允许的最大列宽度用户调整。不像弦宽度 属性,这个是十进制的,需要像素值。 |
可见 |
bool吗? ( 零 ) |
如果该参数设置为假 ,则从甘特树中隐藏该列。接受两个保龄球 和bool吗? 类型和零 被视为真正的 。 |
HeaderClass |
字符串 |
向列的标题单元格添加自定义CSS类。使用它来应用自定义样式或覆盖默认的甘特样式。 |
笔记
对于过滤和排序等高级操作,您可以必须设置一个
场
,它所指向的字段必须是字符串或值类型(如数字、字符串、日期时间、布尔值)。- 如果一个
场
未设置该列将不允许对该列进行筛选、排序和编辑。 - 如果
场
指向自定义对象或类似于IDictionary
,这些操作将抛出错误,因为. net中没有对非基本类型的已知数据操作。
- 如果一个
如果你没有设置
标题
对于列,甘特图会取[Display(Name = "My Column Title")]
来自模型字段的数据注释属性。如果这也不可用,则将显示字段的名称。如果模型有
[DisplayFormat(DataFormatString = "{0:C}")]
属性,则显示格式将取自该属性中的格式字符串。如果要防止特定属性的数据突变,可以设置
可编辑的
参数(可编辑)
数据注释属性为假
所需的模型字段。- 由模型属性生成的列没有
setter
或者它是不可访问的(私有)也将不可编辑。
- 由模型属性生成的列没有
甘特使用
Activator.CreateInstance < TItem > ();
以便在调用Insert操作时生成新项,因此模型应该定义一个无参数构造函数。