使 MudBlazor table 的一行可点击?
Make a line of a MudBlazor table clickable?
我有这个 table 用 MudBlazor 制作的:
<MudTable ServerData="@(new Func<TableState, Task<TableData<DossierInfo>>>(GetServerData))"
RowsPerPage="@_PageSize"
Dense="true"
Hover="true"
Bordered="false"
Striped="true"
Outlined="true"
Filter="new Func<DossierInfo,bool>(FilterFunc)" Elevation="0">
<ToolBarContent>
<MudTextField @bind-Value="searchString" Label="Ricerca" Placeholder="Digitare il testo da ricercare" Variant="Variant.Filled" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Search" />
<!--<MudTextField @bind-Value="searchString" Placeholder="Search" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium"></MudTextField>-->
</ToolBarContent>
<HeaderContent>
<MudTh>Tipo</MudTh>
<MudTh>Nr</MudTh>
<MudTh>Targa</MudTh>
<MudTh>Tipo veicolo</MudTh>
<MudTh>Marca</MudTh>
<MudTh>Modello</MudTh>
<MudTh>Km</MudTh>
<MudTh>Totale validato</MudTh>
<MudTh>Data apertura OL</MudTh>
<MudTh></MudTh>
</HeaderContent>
<RowTemplate>
<MudTd DataLabel="Tipo pratica"><MudIcon Icon="@DossierTypeIconService.GetDossierTypeIcon(context.Type)"></MudIcon></MudTd>
<MudTd DataLabel="Numero">@context.Number</MudTd>
<MudTd DataLabel="Targa">@context.VehiclePlate</MudTd>
<MudTd DataLabel="Tipo veicolo">@context.VehicleType</MudTd>
<MudTd DataLabel="Marca">@context.VehicleMake</MudTd>
<MudTd DataLabel="Modello">@context.VehicleModel</MudTd>
<MudTd DataLabel="Km">@context.VehicleKm</MudTd>
<MudTd DataLabel="Totale validato">@context.ValidatedTotalAmount</MudTd>
<MudTd DataLabel="Data apertura OL">@context.OpenedDate</MudTd>
<MudTd DataLabel="Azioni" Style="text-align:right">
<MudButton Variant="Variant.Filled" DisableElevation="true" Color="Color.Primary" Size="Size.Small" OnClick="@((e) => ToDossierDetail(@context.Id))"><strong>Apri</strong></MudButton>
</MudTd>
</RowTemplate>
<PagerContent>
<MudTablePager PageSizeOptions="@_pageSizeOption" RowsPerPageString="Pratiche per pagina" />
</PagerContent>
我不知道这是否可行,但我想让 table 的每一行完全可点击以访问每个档案的信息,而不是像现在这样使用 MudButton。我在 MudBlazor 主站点上进行了搜索,但没有找到任何相关信息。
您可以使用事件回调OnRowClick
。
一个例子:
<MudTable
ServerData="@(new Func<TableState, Task<TableData<DossierInfo>>>(GetServerData))"
T="YourT"
OnRowClick="@RowClicked">
// ...
</MudTable>
代码:
public void RowClicked(TableRowClickEventArgs<YourT> p)
{
// Example:
NavigationManager.NavigateTo($"/DossierInfo/{p.Item.IdDossier}");
}
MudTable<T>
的完整 API 文档:https://mudblazor.com/api/table
我有这个 table 用 MudBlazor 制作的:
<MudTable ServerData="@(new Func<TableState, Task<TableData<DossierInfo>>>(GetServerData))"
RowsPerPage="@_PageSize"
Dense="true"
Hover="true"
Bordered="false"
Striped="true"
Outlined="true"
Filter="new Func<DossierInfo,bool>(FilterFunc)" Elevation="0">
<ToolBarContent>
<MudTextField @bind-Value="searchString" Label="Ricerca" Placeholder="Digitare il testo da ricercare" Variant="Variant.Filled" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Search" />
<!--<MudTextField @bind-Value="searchString" Placeholder="Search" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium"></MudTextField>-->
</ToolBarContent>
<HeaderContent>
<MudTh>Tipo</MudTh>
<MudTh>Nr</MudTh>
<MudTh>Targa</MudTh>
<MudTh>Tipo veicolo</MudTh>
<MudTh>Marca</MudTh>
<MudTh>Modello</MudTh>
<MudTh>Km</MudTh>
<MudTh>Totale validato</MudTh>
<MudTh>Data apertura OL</MudTh>
<MudTh></MudTh>
</HeaderContent>
<RowTemplate>
<MudTd DataLabel="Tipo pratica"><MudIcon Icon="@DossierTypeIconService.GetDossierTypeIcon(context.Type)"></MudIcon></MudTd>
<MudTd DataLabel="Numero">@context.Number</MudTd>
<MudTd DataLabel="Targa">@context.VehiclePlate</MudTd>
<MudTd DataLabel="Tipo veicolo">@context.VehicleType</MudTd>
<MudTd DataLabel="Marca">@context.VehicleMake</MudTd>
<MudTd DataLabel="Modello">@context.VehicleModel</MudTd>
<MudTd DataLabel="Km">@context.VehicleKm</MudTd>
<MudTd DataLabel="Totale validato">@context.ValidatedTotalAmount</MudTd>
<MudTd DataLabel="Data apertura OL">@context.OpenedDate</MudTd>
<MudTd DataLabel="Azioni" Style="text-align:right">
<MudButton Variant="Variant.Filled" DisableElevation="true" Color="Color.Primary" Size="Size.Small" OnClick="@((e) => ToDossierDetail(@context.Id))"><strong>Apri</strong></MudButton>
</MudTd>
</RowTemplate>
<PagerContent>
<MudTablePager PageSizeOptions="@_pageSizeOption" RowsPerPageString="Pratiche per pagina" />
</PagerContent>
我不知道这是否可行,但我想让 table 的每一行完全可点击以访问每个档案的信息,而不是像现在这样使用 MudButton。我在 MudBlazor 主站点上进行了搜索,但没有找到任何相关信息。
您可以使用事件回调OnRowClick
。
一个例子:
<MudTable
ServerData="@(new Func<TableState, Task<TableData<DossierInfo>>>(GetServerData))"
T="YourT"
OnRowClick="@RowClicked">
// ...
</MudTable>
代码:
public void RowClicked(TableRowClickEventArgs<YourT> p)
{
// Example:
NavigationManager.NavigateTo($"/DossierInfo/{p.Item.IdDossier}");
}
MudTable<T>
的完整 API 文档:https://mudblazor.com/api/table