当前位置: 首页 > 知识库问答 >
问题:

将列内容与单元格右侧对齐React MUIDataTable

谭光辉
2023-03-14

我是MUI新手,希望将列的内容向右对齐。我的代码如下所示:

<MUIDataTable
            title={""}
            data={data || []}
            columns={realColumns ? realColumns(data, modeMO) : columns(data, modeMO)}
            options={{
                filterType: "textField",
                responsive: "simple",
                selectableRows: selectable, // set checkbox for each row
                search: false, // set search option
                filter: false, // set data filter option
                download: false, // set download option
                print: false, // set print option
                pagination: true, //set pagination option
                viewColumns: false, // set column option
                elevation: 0,
                rowsPerPageOptions: [10, 20, 40, 80, 100],
                //setCellProps: () => ({ align: 'right' }) ,
                onRowSelectionChange: (
                    currentRowsSelected,
                    allRowsSelected,
                    rowsSelected,
                ) => {
                    setSelectedRows(
                        allRowsSelected.map(el => {
                            return data[el.dataIndex];
                        }),
                    );
                },
                selectToolbarPlacement: "none",
            }}
        />

这是显示的:桌子图片

因此,我想将“Montantárégler”列中的所有数字向右对齐。有人能帮忙吗。

共有1个答案

陶高峻
2023-03-14

如果您使用的是材质UI的基本表格,则可以通过将align prop传递到表格单元格来对齐它,以对齐每行和每列中的内容。可以将“对齐”设置为“右”、“左”等。

如果您正在使用DataGrid或材料UI的数据表(我认为您是),那么您可以向每个列传递对齐道具。请参阅下面材质UI中编辑的示例代码:

import * as React from "react";
import { DataGrid } from "@mui/x-data-grid";

const columns = [
{ field: "id", align: "rights", headerName: "ID", width: 70 },
{ field: "firstName", align: "center", headerName: "First name", 
width: 130 },
{ field: "lastName", align: "left", headerName: "Last name", 
width: 130 },
{
field: "age",
headerName: "Age",
type: "number",
width: 90
},
{
field: "fullName",
headerName: "Full name",
description: "This column has a value getter and is not 
sortable.",
sortable: false,
width: 160,
valueGetter: (params) =>
  `${params.getValue(params.id, "firstName") || ""} ${
    params.getValue(params.id, "lastName") || ""
  }`
}
];

const rows = [
{ id: 1, align: "right", lastName: "Snow", firstName: "Jon", age: 
35 },
{ id: 2, lastName: "Lannister", firstName: "Cersei", age: 42 },
{ id: 3, lastName: "Lannister", firstName: "Jaime", age: 45 },
{ id: 4, lastName: "Stark", firstName: "Arya", age: 16 },
{ id: 5, lastName: "Targaryen", firstName: "Daenerys", age: null 
},
{ id: 6, lastName: "Melisandre", firstName: null, age: 150 },
{ id: 7, lastName: "Clifford", firstName: "Ferrara", age: 44 },
{ id: 8, lastName: "Frances", firstName: "Rossini", age: 36 },
{ id: 9, lastName: "Roxie", firstName: "Harvey", age: 65 }
];

export default function DataTable() {
return (
<div style={{ height: 400, width: "100%" }}>
  <DataGrid
    rows={rows}
    columns={columns}
    pageSize={5}
    rowsPerPageOptions={[5]}
    checkboxSelection
  />
</div>
);
}

您可以在这里了解更多关于材料UI表的信息:材料UI表

希望这有帮助。

 类似资料:
  • 我有下面的ipython笔记本代码(标记): 我怎样才能: 左对齐单元格的表格,现在默认为居中

  • 我需要树放置在右上角的Foo。

  • 问题内容: 我有一个熊猫数据框,其中有一列名为“城市,州,国家/地区”。我想将此列分为三个新列:“城市”,“州”和“国家”。 将列分为三列就足够了: 但是,这将创建左对齐数据: 如何将数据右对齐来创建新列?我是否需要遍历每一行,计算逗号的数量并分别处理内容? 问题答案: 我将执行以下操作: 我认为这可以为您提供所需的东西,但是如果您还想对东西进行修饰并获得“城市,州,国家”列的顺序,则可以添加以下

  • 我有以下代码,成功地将单元格的内容集中在我的Vaadin网格中。 它让它看起来像这样。 如何实现垂直居中?当我尝试添加样式名称 v-对齐中间时,它什么也没做。

  • 我尝试使用样式将Add to library向右对齐,但似乎不起作用。如何将对齐到Flex右侧。谁能帮忙吗? null null

  • 我试图创建一个嵌套表,该表与单元格的右边缘对齐,但尽管向包含单元格添加了,但它仍然保持在左侧。 灰色底纹显示表格和单元格的实际位置: 正在制作的内容: 所以基本上,我想问的是,我是否缺少了什么东西,可以使嵌套表正确地向右对齐。