C# 如何覆盖blazor中基本组件中的渲染片段
我正在使用Blazorise DataGrid,我想创建一个自定义DataGridColumn,其中DisplayTemplate被预先设置为模板,但是如果我从DataGridColumn派生,我不知道应该如何设置DisplayTemplate。我是从这个开始的C# 如何覆盖blazor中基本组件中的渲染片段,c#,razor,blazor,webassembly,blazorise,C#,Razor,Blazor,Webassembly,Blazorise,我正在使用Blazorise DataGrid,我想创建一个自定义DataGridColumn,其中DisplayTemplate被预先设置为模板,但是如果我从DataGridColumn派生,我不知道应该如何设置DisplayTemplate。我是从这个开始的 @typeparam-TItem @继承DataGridColumn 但是我不知道如何将DisplayTemplate渲染片段设置为razor片段 我还尝试创建一个组件,其中包含一个DataGridColumn,并在我的DataGri
@typeparam-TItem
@继承DataGridColumn
但是我不知道如何将DisplayTemplate渲染片段设置为razor片段
我还尝试创建一个组件,其中包含一个DataGridColumn,并在我的DataGrid中引用它,但不管我将该列放在DataGrid的何处,该列始终位于末尾
我可能是看错了树,但我有很多实现接口的类,我总是希望为实现该接口的任何类型的任何数据网格中的特定列设置相同的DisplayTemplate。因此,为此目的创建DataGridColumn派生类型似乎是合理的。您可以在代码部分的派生类中填充DisplayTemplate:
@typeparam TItem
@inherits DataGridColumn<TItem>
@{
base.BuildRenderTree(__builder);
}
@code {
protected override void OnInitialized()
{
base.OnInitialized();
this.DisplayTemplate = (TItem item) => @<CustomDisplayTemplate T="TItem" Item="@item" />;
}
}
@typeparam-TItem
@继承DataGridColumn
@{
base.BuildRenderTree(uu-builder);
}
@代码{
受保护的覆盖无效OnInitialized()
{
base.OnInitialized();
this.DisplayTemplate=(TItem项)=>@;
}
}
为此,您需要定义一个名为CustomDisplayTemplate的单独Blazor组件:
@typeparam T
<h2>@Item.ToString()</h2>
@code {
[Parameter]
public T Item { get; set; }
}
@typeparam T
@Item.ToString()
@代码{
[参数]
公共T项{get;set;}
}