|
6 | 6 | @inject WeatherForecastService ForecastService |
7 | 7 | @implements IAsyncDisposable |
8 | 8 |
|
| 9 | +<PageTitle>Blazor Grid Keyboard Shortcuts</PageTitle> |
| 10 | +<h1>Weather Forecast</h1> |
| 11 | + |
9 | 12 | @if (forecasts == null) |
10 | 13 | { |
11 | 14 | <p><em>Loading...</em></p> |
12 | 15 | } |
13 | 16 | else |
14 | 17 | { |
15 | 18 | <div @ref="gridWrapper"> |
16 | | - <DxGrid @ref="grid" Data="@forecasts" |
17 | | - FocusedRowEnabled="true" |
18 | | - EditMode="GridEditMode.EditCell" |
19 | | - EditModelSaving="OnEditModelSaving" |
20 | | - CssClass="mw-1100" ValidationEnabled=false> |
| 19 | + <DxGrid @ref="grid" Data="@forecasts" |
| 20 | + FocusedRowEnabled="true" |
| 21 | + EditModelSaving="OnEditModelSaving" |
| 22 | + CssClass="mw-1100"> |
21 | 23 | <Columns> |
22 | | - <DxGridSelectionColumn /> |
| 24 | + <DxGridSelectionColumn Width="70px" /> |
23 | 25 | <DxGridDataColumn Caption="Date" FieldName="Date" /> |
24 | 26 | <DxGridDataColumn Caption="Temperature (C)" FieldName="TemperatureC" /> |
25 | 27 | <DxGridDataColumn Caption="Temperature (F)" FieldName="TemperatureF" /> |
|
28 | 30 | </DxGrid> |
29 | 31 | </div> |
30 | 32 |
|
31 | | - |
32 | | - <DxPopup HeaderText="Forecast Entry" |
33 | | - @bind-Visible="@popupVisible" |
34 | | - BodyText="@("Viewing forecast for " + currentDate)"> |
| 33 | + <DxPopup HeaderText="@($"Weather Forecast for {selectedForecast?.Date:m}")" |
| 34 | + @bind-Visible="@popupVisible"> |
| 35 | + <p><b>Temperature:</b> @selectedForecast?.TemperatureC °C</p> |
| 36 | + <p><b>Summary:</b> @selectedForecast?.Summary</p> |
35 | 37 | </DxPopup> |
36 | 38 | } |
37 | 39 |
|
38 | 40 | @code { |
39 | 41 | private WeatherForecast[]? forecasts; |
40 | 42 | private bool popupVisible; |
41 | 43 | private ElementReference gridWrapper; |
42 | | - private DateOnly currentDate; |
| 44 | + private WeatherForecast? selectedForecast; |
43 | 45 | private IGrid grid; |
44 | 46 | private IJSObjectReference? module; |
45 | 47 | private DotNetObjectReference<Index>? dotNetHelper; |
|
51 | 53 | if (focusedItem == null) |
52 | 54 | return; |
53 | 55 | await grid.SaveChangesAsync(); |
54 | | - currentDate = focusedItem.Date; |
| 56 | + selectedForecast = focusedItem; |
55 | 57 | popupVisible = true; |
56 | 58 | StateHasChanged(); |
57 | 59 | } |
|
0 commit comments