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

能否为MudDataGrid的Items参数搭配分页功能?

可以用MudDataGrid的Items参数配合分页功能

当然可以直接用Items参数实现客户端分页,不需要依赖ServerData。你代码里的问题主要是PropertyColumn的写法错误,以及可能缺少TItem类型指定,导致组件无法正确解析逻辑。

修正后的完整代码示例

<MudDataGrid TItem="VendorDataFile" Items="@context.VendorDataFiles" RowsPerPage="5">
    <PagerContent>
        <MudTablePager PageSizeOptions="new int[] { 5, 10 }" RowsPerPageString="Rows per page" />
    </PagerContent>
    <Columns>
        <PropertyColumn Property="@(vendordatafile => vendordatafile.IsLicensed)" Title="Is Licensed" />
        <!-- 可添加更多列 -->
    </Columns>
</MudDataGrid>

关键注意事项

  • 必须指定TItem类型:如果编译器无法自动推断你的数据类型,显式声明TItem="VendorDataFile"是必要的,这是组件正确处理分页、列绑定的基础。
  • PropertyColumn的正确写法:Property参数需要传入lambda表达式,不能用引号包裹。用@(...)包裹表达式可以让Razor正确识别这是C#代码,而非字符串。
  • 客户端分页自动处理:当使用Items时,MudDataGrid会自动在本地对完整数据集进行分页、排序(若启用),无需手动截取数据。只要context.VendorDataFiles是完整数据集,组件会根据当前页码和每页行数自动展示对应内容。

排查小技巧

  • 确认VendorDataFile类中IsLicensed是公共属性,否则组件无法访问。
  • 检查context.VendorDataFiles是否有足够多的数据(比如超过5条),数据量不足时分页控件可能不显示。
  • 如果数据是异步加载的,用条件渲染确保数据加载完成后再渲染Grid:
    @if (context.VendorDataFiles != null && context.VendorDataFiles.Any())
    {
        <MudDataGrid ... />
    }
    else
    {
        <MudText>加载中...</MudText>
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 19:52:41