Skip to content

Commit f92bf11

Browse files
committed
feat: 增加 HeaderTemplate 模板
1 parent 15d226e commit f92bf11

File tree

2 files changed

+46
-33
lines changed

2 files changed

+46
-33
lines changed

src/BootstrapBlazor/Components/Calendar/Calendar.razor

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,41 @@
3535
<div class="calendar-body">
3636
<table cellspacing="0" cellpadding="0" class="calendar-table">
3737
<thead>
38-
<tr>
39-
@foreach (var w in WeekLists)
40-
{
41-
<th>@w</th>
42-
}
43-
</tr>
38+
@if (HeaderTemplate != null)
39+
{
40+
@HeaderTemplate
41+
}
42+
else
43+
{
44+
<tr>
45+
@foreach (var w in WeekLists)
46+
{
47+
<th>@w</th>
48+
}
49+
</tr>
50+
}
4451
</thead>
4552
<tbody>
4653
@for (var week = StartDate; week < EndDate; week = week.AddDays(7))
4754
{
4855
<tr class="calendar-table-row">
49-
@for (var index = 0; index < 7; index++)
56+
@if (BodyTemplate != null)
5057
{
51-
var cellValue = CreateCellValue(week.AddDays(index));
52-
if (CellTemplate == null)
53-
{
54-
@RenderCell(cellValue)
55-
}
56-
else
58+
@BodyTemplate(week)
59+
}
60+
else
61+
{
62+
@for (var index = 0; index < 7; index++)
5763
{
58-
@CellTemplate(cellValue)
64+
var cellValue = CreateCellValue(week.AddDays(index));
65+
if (CellTemplate == null)
66+
{
67+
@RenderCell(cellValue)
68+
}
69+
else
70+
{
71+
@CellTemplate(cellValue)
72+
}
5973
}
6074
}
6175
</tr>
@@ -85,19 +99,19 @@
8599
<div class="calendar-body">
86100
<table cellspacing="0" cellpadding="0" class="calendar-table table-week">
87101
<thead>
88-
<tr>
89-
@if (AdditionalHeaders != null)
90-
{
91-
foreach (var item in AdditionalHeaders)
102+
@if (HeaderTemplate != null)
103+
{
104+
@HeaderTemplate
105+
}
106+
else
107+
{
108+
<tr>
109+
@for (var index = 0; index < 7; index++)
92110
{
93-
@RenderAddHeader(item)
111+
@RenderWeekHeader(index)
94112
}
95-
}
96-
@for (var index = 0; index < 7; index++)
97-
{
98-
@RenderWeekHeader(index)
99-
}
100-
</tr>
113+
</tr>
114+
}
101115
</thead>
102116
<tbody>
103117
@ChildContent
@@ -122,11 +136,4 @@
122136
<div>@GetWeekDayString(index)</div>
123137
</div>
124138
</th>;
125-
126-
RenderFragment<string> RenderAddHeader => name =>
127-
@<th>
128-
<div class="week-header">
129-
<div><span class="d-none d-sm-inline-block">@name</span></div>
130-
</div>
131-
</th>;
132139
}

src/BootstrapBlazor/Components/Calendar/Calendar.razor.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,11 +173,17 @@ protected int GetWeekCount()
173173
[Parameter]
174174
public RenderFragment? ChildContent { get; set; }
175175

176+
/// <summary>
177+
/// 获得/设置 列头模板
178+
/// </summary>
179+
[Parameter]
180+
public RenderFragment? HeaderTemplate { get; set; }
181+
176182
/// <summary>
177183
/// 获得/设置 附加列
178184
/// </summary>
179185
[Parameter]
180-
public string[]? AdditionalHeaders { get; set; }
186+
public RenderFragment<DateTime>? BodyTemplate { get; set; }
181187

182188
/// <summary>
183189
/// 获得/设置 单元格模板

0 commit comments

Comments
 (0)