1.1.11 • Published 6 years ago

react-tablix v1.1.11

Weekly downloads
2
License
MIT
Repository
-
Last release
6 years ago

TABLIX

Tablix is the conversion of two-dimensional data into complex matrix table.

eg:

from:

idschoolgradegradeIDschoolClassscIDcoursecidscorestdteachergradeYeargid
1我的学校2019级1一班1语文11001.1657564张洋20171
2我的学校2019级1一班1语文1501.1657564张洋20171
3我的学校2019级1一班1语文1861.3张张20182
4我的学校2019级1一班1数学2791.2冯大毛20171
5我的学校2019级1二班2语文1922.1张洋20171
6我的学校2019级1二班2数学2981.5李四20171
7我的学校2018级2一班2语文1852.1刘伟20171

to:

Properties

- rowGroup

datatype: object

required

{
    by: 'field_name',
    sort: (a,b) => {},
    filter: dataSet => { return dataSet.filter(t => t.id > 2) },

    // option
    group: {
        
    }
}

- columns

datatype: array

前面几列定义必须按行组顺序对应!

required

[
    {
        field: 'file_name',
        name: 'show name',
        rowSpan: 3, 
        sort: (a,b) => {},
        style: '',
        className: '',
        render: (value, rowData) => {}
    },
    {
        // top group
        group: {
            by: 'field_name',
            name: 'Name',    // If you set the name, you will override the group values.
            sort: (a,b) => {},
            filter: dataSet => { return dataSet.filter(t => t.id > 2) },
            columns: [
                {
                    group: { 
                        by: 'field_name',
                        sort: (a,b) => {},
                        columns: [
                            {
                                field: 'field_name',
                                name: 'show name',
                                sort: (a,b) => {},
                                style: '',
                                className: '',
                                aggregate: Tablix.AGGREGATE_TYPE.AVG,
                                render: (value, rowData) => {},
                                hide: where => { return false; }
                            }
                        ]
                    }
                },
                // normal column
                {
                    name: 'show name',
                    columns: [
                        {
                            field: 'field_name',
                            name: '',
                        },
                        {
                            field: 'field_name',
                            name: '',
                        }
                    ]
                }
            ]
        }
    },
    {
        group: {
            by: 'course',       // group by
            field: 'score',     // show value
            rowSpan: 3,
        },
    },
    {
        name: 'show text',
        rowSpan: 2, 
        columns: [              // To solve multi-line merge mismatch, add a layer of columns, which can be adjusted according to the situation.
            {
                rowSpan: 0,     // 0 don't build cell
                    columns: [
                        {
                            field: 'field_name',
                            name: '',
                        },
                        {
                            field: 'field_name',
                            name: '',
                        }
                    ]
                }
            ]
        }
    ]

data

array

required

[
    {
        field_name1: value,
        field_name2: value,
        field_name3: value,
        field_name4: value,
    }
]

style

className

transported

row transport to column.

Aggregate Function

just use detail column, and have set field column

Tablix.AGGREGATE_TYPE

  • FIRST this is default
  • LAST
  • AVG
  • SUM
  • COUNT
  • MAX
  • MIN

Usage

import React from 'react';
import ReactDOM from 'react-dom';

import Tablix from './Tablix';

let opt = {
    rowGroup: {},
    columns: {},
    data: [

    ],
    style: {},
    className: '',
};

ReactDOM.render(<Tablix {...opt} />, document.getElementById('root));
1.1.11

6 years ago

1.1.10

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.6

6 years ago

1.0.5

6 years ago

1.0.4

6 years ago

1.0.3

6 years ago

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago