Radzen DataGrid 多选仅过滤项目

Radzen DataGrid Multiple Selection only filtered Items

我有一个 Razor 组件 (.net 6),我在其中使用了 Radzen DataGrid Multiple Selection

    <RadzenDataGrid
     @ref="contactsGrid" Data="@contacts" AllowColumnResize="true" EditMode="DataGridEditMode.Single"
     RowUpdate="@OnUpdateRow" RowCreate="@OnCreateRow"
     AllowSorting="true" AllowFiltering="true" FilterCaseSensitivity="FilterCaseSensitivity.CaseInsensitive"
     TItem="ContactModel" AllowRowSelectOnRowClick="false" SelectionMode="DataGridSelectionMode.Multiple" @bind-Value=@selectedContacts>
        <Columns>

            <RadzenDataGridColumn TItem="ContactModel" Width="40px" Sortable="false" Filterable="false">
                <HeaderTemplate>
                    <RadzenCheckBox TriState="false" TValue="bool" Value="@(contacts.Any(i => selectedContacts != null && selectedContacts.Contains(i)))" Change="@(args => selectedContacts = args ? contacts.ToList() : null)" />
                </HeaderTemplate>
                <Template Context="contacts">
                    <RadzenCheckBox TriState="false" Value="@(selectedContacts != null && selectedContacts.Contains(contacts))" TValue="bool" Change=@(args => {  contactsGrid.SelectRow(contacts); }) />
                </Template>
            </RadzenDataGridColumn>

            <!-- FirstName -->
            <RadzenDataGridColumn TItem="ContactModel" Property="FirstName" Title="FirstName">
                <EditTemplate Context="contact">
                    <RadzenTextBox @bind-Value="contact.FirstName" Style="width:100%; display: block" Name="FirstName" />
                    <RadzenRequiredValidator Text="FirstName is required" Component="FirstName" Popup="true" />
                </EditTemplate>
            </RadzenDataGridColumn>
            <!-- LastName -->
            <RadzenDataGridColumn TItem="ContactModel" Property="LastName" Title="LastName">
                <EditTemplate Context="contact">
                    <RadzenTextBox @bind-Value="contact.LastName" Style="width:100%; display: block" Name="LastName" />
                    <RadzenRequiredValidator Text="LastName is required" Component="LastName" Popup="true" />
                </EditTemplate>
            </RadzenDataGridColumn>
        </Columns>
    </RadzenDataGrid>

在HeaderTemplate 中您可以直接select 或deselect 所有项目。 是否可以更改函数,以便仅 select 编辑与过滤器匹配的所有项目?即当我使用过滤器选项搜索某些项目时当前显示哪些项目?

您可以使用 contactsGrid.View 获取可见行。尝试使用 contactsGrid.View 而不是 selectedContacts.