【问题标题】:Adding rowspan or column span functionality at the table while generating data-table using (React) material table在使用(React)材料表生成数据表时在表中添加行跨度或列跨度功能
【发布时间】:2020-05-14 20:26:18
【问题描述】:

我在 ReactJS 中使用 material-table 插件生成数据表。我找不到使用插件在 dataTable 中生成 rowspancolumn span 的任何直接方式或选项。有什么办法吗?

这是一个示例屏幕截图,显示了表格的外观,但将通过 dataTable 显示

【问题讨论】:

    标签: reactjs material-ui material-table


    【解决方案1】:

    您要做什么的解释有点不清楚。

    如果你想在 col span 的每一行上添加一个按钮之类的东西,你可以在 Table 的“columns”属性中定义它,如下所示:

    columns={[
          { title: 'Update', field: '', render: rowData => <button onClick={() => doSomethingWithId(rowData.id)} className="myTableButtonStyle" /> },
          { title: 'Name', field: 'name' },
          ....
        ]}
    

    这将添加一个更新按钮,该按钮将调用 doSomethingWithId() 函数,将行的 id 作为参数传递。 是你要找的吗?否则你介意解释一下你想要什么吗?

    编辑

    这是我得到的

    使用以下代码

    <MaterialTable
          data={[
            { name: '', nationality: 'British', address: '', country: 'England' },
            { name: 'Noor', nationality: 'American', address: 'California', country: 'US' },
            { name: '', nationality: 'Chinese', address: '', country: 'China' },
            { name: '', nationality: '', address: '', country: '' },
          ]}
          columns={[
            { title: 'Name', field: 'name' },
            { title: 'Nationality', field: 'nationality' },
            { title: 'Address', field: 'address' },
            { title: 'Country', field: 'country' },
          ]}
          options={{
            rowStyle: {
              height: '25px',
            },
          }}
          title="Display Data"
        />
    

    您不需要添加行或列跨度来实现此渲染,只需提供好的数据集和列定义即可。

    在您的 data 道具中,您需要提供一个包含所有您需要的数据的对象列表。 然后,您可以使用 columns 道具定义哪些数据显示在哪里。如果您想在一列中进行更个性化的渲染(例如:您想以粗体显示国家/地区),您可以通过在 columns 对象中进行渲染来定义它,如下所示:

    {title: 'Country', field: '', render: rowData => <strong>{rowData.country}</strong>
    

    要使空行与其他行具有相同的大小,请在您的桌子上使用道具 options。 这对您有帮助吗?

    【讨论】:

    • 您好,感谢您的回答。我正在尝试添加行跨度或列跨度,例如单行中的多行,而不是尝试显示按钮或任何 html 元素。
    • 这样做的目的是为了有一个带有一些父/子元素的树状表吗?
    • @Palencar....我添加了一张表格应该是什么样子的屏幕截图。
    • @ni8mr 我根据你的截图编辑了我的答案,告诉我这是否是你要找的。如果这还不够,请尝试放置一些您尝试过的代码,以便帮助我理解您想要实现的目标。
    猜你喜欢
    • 2019-11-26
    • 1970-01-01
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2014-07-27
    • 2012-10-24
    相关资源
    最近更新 更多