我们在 VS 2022 中有一个 .NET 8 和 C# Blazor 项目,其中包含许多 QuickGrids。
我想使用 来放置PropertyColumn
的标题文本的 HTML 和样式HeaderTemplate
,这将覆盖该Title
字段。但我不知道如何使用HeaderTemplate
。
我的 QuickGrid 标记如下所示:
<PropertyColumn
Property="f => f.TXT_NAME"
HeaderTemplate="<TemplateHeader>Missouri</TemplateHeader>"
Sortable="false" Class="itemName" />
我已在 Google 上搜索了指定/利用该HeaderTemplate
功能的正确方法的示例,但找不到任何示例。您在上面的代码中看到的是关于如何使用的无效猜测HeaderTemplate
。
当我输入代码时HeaderTemplate
,VS 2022 会立即跟进=""
-- 暗示应该输入一些文本。但是……我尝试了各种方法,你可以看到我尝试提供一个包含渲染片段的组件 -- 但编译时不会出现错误
无效的表达式术语“<”
我陷入困境。
渲染片段组件标记和代码如下:
<div class="text-danger fst-italic fw-bold">
@ChildContent
</div>
@code {
#pragma warning disable CS8618
[Parameter] public RenderFragment? ChildContent { get; set; }
#pragma warning restore CS8618
}
欢迎您提出解决方案、评论和问题。
谢谢。
您需要使用 a
TemplateColumn
而不是PropertyColumn
。以下是天气页面的示例:
您可以在 PropertyColumn 上使用 HeaderTemplate
你也可以使用 css 通过隔离来定位标题
Weather.razor.css
然而,如果
QuickGrid
是根组件,则::deep
操作员将无法工作。这里我使用自定义 HTML 元素来启用
::deep
选择器。浏览器会忽略该元素。仅供参考:PropertyColumn继承了ColumnBase,它具有 RenderFragment 参数HeaderTemplate
关于RenderFragment使用的官方文档。