我正在构建一个blazor服务器应用程序,使用.NET Core 7和MudblazorUI组件库。我在寻找拦截行的单元格单击事件的方法时遇到了麻烦。我的主要目标是能够获得被单击的行单元格。我能够捕获行单击事件,但这不是我想要的。我需要用户单击的实际单元格,如果这是由组件提供的话。
我附加现有的blazor代码:
<MudDataGrid T="Element" MultiSelection="true" Items="@Elements" SortMode="SortMode.Multiple" QuickFilter="@_quickFilter"
Hideable="true" RowClick="@RowClicked" SelectedItemsChanged="@SelectedItemsChanged">
<ToolBarContent>
<MudSpacer />
<MudTextField @bind-Value="_searchString" Placeholder="Table Search" Adornment="Adornment.Start" Immediate="true"
AdornmentIcon="@Icons.Material.Filled.Search" IconSize="Size.Medium" Class="mt-0"></MudTextField>
<MudButton Style="background-color:coral;color:white;margin-left: 20px;" StartIcon="@Icons.Material.Filled.Add">
@if (!isMobileDevice)
{
<span>New Item</span>
}
</MudButton>
</ToolBarContent>
<Columns>
<SelectColumn T="Element" />
<PropertyColumn Property="x => x.SKU" Title="SKU Number" Sortable="true" Filterable="true" />
<PropertyColumn Property="x => x.Name" Title="Name" Sortable="true" Filterable="true" CellStyleFunc="@_cellStyleFunc" onclick="OnCellClick" />
<PropertyColumn Property="x => x.Quentity" Title="Qty On-Hand" Sortable="true" Filterable="true" />
<PropertyColumn Property="x => x.Measurement" Title="UOM" Sortable="true" Filterable="true" />
<PropertyColumn Property="x => x.Location" Title="Location" Sortable="true" Filterable="true" />
<PropertyColumn Property="x => x.Type" Title="Type" Sortable="true" Filterable="true" />
<TemplateColumn CellClass="justify-end">
<CellTemplate>
<MudMenu Icon="@Icons.Material.Filled.MoreVert" AnchorOrigin="@Origin.BottomLeft" TransformOrigin="@Origin.TopRight">
<MudMenuItem Icon="@Icons.Material.Outlined.Edit">Edit</MudMenuItem>
<MudMenuItem Icon="@Icons.Material.Outlined.ContentCopy">Duplicate</MudMenuItem>
<MudMenuItem Icon="@Icons.Material.Outlined.MultipleStop">Transfer Qty</MudMenuItem>
<MudMenuItem Icon="@Icons.Material.Outlined.Archive">Archive</MudMenuItem>
</MudMenu>
</CellTemplate>
</TemplateColumn>
</Columns>
<PagerContent>
<MudDataGridPager T="Element" />
</PagerContent>
</MudDataGrid>
我尝试在PropertyColumn标记处添加一个OnClick事件,但该事件没有被触发。我也搜索了文档,但似乎没有包含此功能的信息。我也在互联网上搜索过,但这也没有结果!
或者,我希望能够创建一个可单击的单元格,并通过接收行数据来响应单击事件。
任何帮助都将非常感谢,因为网格工作得非常好,开箱即用。
1条答案
按热度按时间rjjhvcjd1#
您可以使用
TemplateColumn
〉CellTemplate
〉显示组件。然后,您可以在显示组件上添加@onclick事件。
mudblazor Snippet