使用 Kendo ComboBox,我为来自 Web 服务的一些数据创建了一个选择器。HTML 代码如下所示:
<kendo-combobox #myPicker
[data]="myData"
[valueField]="'ID'"
[textField]="'Number'"
[filterable]="true"
[allowCustom]="false"
(valueChange)="onChange($event)">
<ng-template kendoComboBoxItemTemplate let-dataItem>
{{dataItem.Number}} - {{dataItem.Subject}}
</ng-template>
</kendo-combobox>
Run Code Online (Sandbox Code Playgroud)
项目模板工作完美,它完全按照需要显示。我现在想做的是格式化所选值(文本字段本身中显示的值)。现在,它只选择 中提供的字段[textField],在本例中为Number。
有什么方法可以格式化选定的值吗?我查了文档,好像没有这个模板。我还尝试使用该[value]属性并在那里设置自定义字符串,但这会破坏组合框,因为它需要一个对象。
我有以下实体:
public class Level
{
public int LevelId { get; set; }
public int? ParentLevelId { get; set; }
public string Name { get; set; }
public virtual Level Parent { get; set; }
public virtual HashSet<Level> Children { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我在这里遇到麻烦的是Children属性,它在Fluent API中是这样配置的:
modelBuilder.Entity<Level>()
.HasOne(x => x.Parent)
.WithMany(x => x.Children)
.HasForeignKey(x => x.ParentLevelId);
Run Code Online (Sandbox Code Playgroud)
这导致迁移添加了一些其他列:
migrationBuilder.AddColumn<int>(
name: "LevelId1",
table: "Level",
nullable: true);
migrationBuilder.CreateIndex(
name: "IX_Level_LevelId1",
table: "Level",
column: "LevelId1");
migrationBuilder.AddForeignKey(
name: "FK_Level_Level_LevelId1",
table: "Level",
column: "LevelId1",
principalTable: …Run Code Online (Sandbox Code Playgroud)