You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MS QuickGrid中将@pagination.ItemsPerPage设置为'All'?选中后设置被忽略

解决MS QuickGrid中"All"分页选项绑定不生效的问题

QuickGrid的PaginationState.ItemsPerPage默认只识别整数类型值,直接绑定字符串"All"会被框架忽略,以下是具体解决步骤:

    1. 替换默认分页下拉框,手动添加"All"选项
      放弃@bind自动绑定,改用手动控制选中状态和事件:
    <QuickGrid Items="@items" Pagination="@pagination">
        <Template Name="Pager">
            <select @onchange="HandleItemsPerPageChange">
                <option value="10" selected="@(pagination.ItemsPerPage == 10)">10条/页</option>
                <option value="20" selected="@(pagination.ItemsPerPage == 20)">20条/页</option>
                <option value="all" selected="@(pagination.ItemsPerPage == totalItems)">全部</option>
            </select>
        </Template>
    </QuickGrid>
    
    1. 实现选项切换的处理逻辑
      在代码块中添加事件处理方法,同时维护总数据量的变量:
    private PaginationState pagination = new PaginationState { ItemsPerPage = 10 };
    private int totalItems;
    private IEnumerable<YourDataType> items;
    
    protected override async Task OnInitializedAsync()
    {
        // 这里替换成你的数据获取逻辑
        items = await FetchDataAsync();
        totalItems = items.Count();
    }
    
    private void HandleItemsPerPageChange(ChangeEventArgs e)
    {
        var selectedVal = e.Value.ToString();
        if (selectedVal.Equals("all", StringComparison.OrdinalIgnoreCase))
        {
            // 选中"全部"时,把每页条数设为总数据量
            pagination.ItemsPerPage = totalItems;
        }
        else if (int.TryParse(selectedVal, out int perPage))
        {
            pagination.ItemsPerPage = perPage;
        }
    }
    
    1. 同步数据更新后的状态
      如果数据有更新(比如筛选、搜索),需要重新计算总条数,并同步分页状态:
    private async Task RefreshData()
    {
        items = await FetchFilteredDataAsync();
        totalItems = items.Count();
        // 如果当前是"全部"模式,更新每页条数为新的总数据量
        if (pagination.ItemsPerPage >= totalItems)
        {
            pagination.ItemsPerPage = totalItems;
        }
    }
    

核心逻辑是把"All"选项映射为总数据量的整数值,让QuickGrid的分页组件能正确识别并生效。

内容的提问来源于stack exchange,提问作者user3124422

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 16:25:10