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

使用行分组时,让MUI X Data Grid Premium空行不可展开

解决方案

要禁用无学生申请的奖学金分组行的展开功能,可通过以下方式修改代码:

1. 添加展开权限判断

在DataGridPremium组件中新增isRowExpandable属性,利用apiRef判断当前行是否存在子行,仅当子行数量大于0时允许展开:

<DataGridPremium
  columns={columns}
  rows={rows}
  apiRef={apiRef}
  initialState={initialState}
  getRowId={(row) => row.id}
  // 控制行展开权限
  isRowExpandable={(params) => {
    const childrenCount = apiRef.current.getRowChildrenCount(params.id);
    return childrenCount > 0;
  }}
/>

2. 优化空值显示(可选)

为提升表格可读性,给空值字段设置默认显示文本,修改列定义:

const columns: GridColDef[] = [
  {
    field: "scholarshipName",
    headerName: "奖学金名称",
    width: 400,
  },
  {
    field: "awardAmount",
    headerName: "奖励金额",
    minWidth: 80,
    flex: 1,
    type: "number",
    valueFormatter: (params) => params.value ?? "无",
  },
  {
    field: "studentName",
    headerName: "学生姓名",
    minWidth: 80,
    flex: 1,
    valueFormatter: (params) => params.value ?? "无申请",
  },
  {
    field: "submittedOn",
    headerName: "提交日期",
    minWidth: 80,
    flex: 1,
    valueFormatter: (params) => params.value ?? "-",
  },
  {
    field: "status",
    headerName: "状态",
    minWidth: 80,
    flex: 1,
    valueFormatter: (params) => params.value ?? "-",
  },
];

效果说明

  • 有申请的奖学金分组行保持可展开,正常展示下属申请记录
  • 无申请的奖学金分组行被禁用展开,避免展开后出现空行
  • 空值字段显示友好文本,提升表格可读性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 06:06:05