Skip to main content

Row to Column

Row to Column is a data structure transformation component that implements row-column interchange functionality based on data pivot principles. It handles dynamic data structure transposition, data format reorganization, and provides data preview, suitable for data format conversion and report generation scenarios.

The row to column element has a hierarchical structure of Meta (components.Meta) → Type (components.Transpose) → Instance. Developers can quickly create row to column instance elements through JitAI's visual development tools.

Of course, developers can also create their own Type elements or modify the official components.TransposeType element provided by JitAi in their own App to implement their own encapsulation.

Quick Start

Basic Configuration Example

Recommended Directory Structure
pages/
└── MyTransposePage/
├── e.json
├── page.ts
└── scheme.json # Page layout configuration
scheme.json - Minimal Configuration
{
"fullName": "components.Transpose",
"type": "components.Transpose",
"name": "Transpose1",
"title": "Row to Column 1",
"config": {
"requireElements": [
{
"name": "models.CustomerModel"
}
],
"groupByFieldId": "gender",
"showFieldId": "amount"
}
}

Configuration Properties

Property NameTypeDescriptionDefault ValueRequired
requireElementsrequireElement[]Data model configuration-Yes
fixedFieldIdListstring[]Fixed column field ID list[]No
groupByFieldIdstringDimension column field ID, used for grouping transpose-Yes
showFieldIdstringDisplay value field ID-Yes
fieldConfigRecord<string, TransposeTableFieldConfig>Field configuration object{}No
autoLoadbooleanWhether to auto-load datatrueNo
allowEditbooleanWhether to allow editingfalseNo
allowExportbooleanWhether to allow exportfalseNo
leftBtnListTransposeButtonProps[]Left button list[]No
rightBtnListTransposeButtonProps[]Right button list[]No
menuBtnListTransposeButtonProps[]Menu button list[]No
platform"PC" | "MOBILE"Runtime platform"PC"No

Variables

displayRowList

Displayed multi-row data variable, type is RowList, read-only. Contains data results after row-to-column processing.

operateRowList

Operated multi-row data variable, type is RowList, read-only. Contains data row records operated by users.

activeRow

Operated single row data variable, type is RowData, read-only. Represents the currently selected or operated single row data.

filter

Filter condition variable, type is QFilter. Used to set filter conditions for data queries.

Methods

call

Refresh component data, reload data based on filter conditions.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
qFilterQFilterFilter conditions-No

Return Value

Promise<void>

Usage Example

Call Refresh Method
const transposeComp = app.getElement('components.Transpose1');
await transposeComp.call();

updateConfig

Update component configuration, dynamically modify component configuration properties.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
compConfigTransposeTableCompConfigNew component configuration-Yes

Return Value

Promise<void>

Usage Example

Update Component Configuration
const transposeComp = app.getElement('components.Transpose1');
await transposeComp.updateConfig({
...transposeComp.config,
allowEdit: true
});

run

Run component, initialize and render component to specified DOM container.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
domRefReact.RefObject<HTMLDivElement>DOM container reference-Yes

Return Value

Promise<void>

checkConfig

Check configuration completeness, verify whether necessary configuration items are set.

Return Value

boolean - Whether configuration is valid

setConfig

Set component configuration, inherited from BaseComponent.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
nextPartial<TransposeTableCompConfig>New configuration-Yes
cleanbooleanWhether to clear existing configurationfalseNo

publishEvent

Send event message, inherited from BaseComponent.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
namestringEvent name-Yes
exRecord<string, any>Additional parameters-No

Return Value

Promise<void>

subscribeEvent

Subscribe to event message, inherited from BaseComponent.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
namestringEvent name-Yes
evtCb(data: any) => Promise<void> | voidEvent callback function-Yes
unSubscribeExistbooleanWhether to cancel existing subscriptiontrueNo

Return Value

string - Subscription handle ID

unSubscribeEvent

Cancel event subscription, inherited from BaseComponent.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
idstringSubscription handle ID-Yes

Return Value

boolean - Whether cancellation was successful

destroy

Destroy component, clean up resources, inherited from BaseComponent.

runCode

Execute code string, inherited from BaseComponent.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
codestringCode string to execute-Yes

Return Value

any - Code execution result

getPermConfig

Get permission configuration, inherited from BaseComponent.

Return Value

Record<string, any> | undefined - Permission configuration object

Properties

name

Component name, type is string.

title

Component title, type is string.

config

Component configuration object, type is TransposeTableCompConfig.

showTitle

Whether to show title, type is boolean.

app

Associated application instance, type is App.

page

Associated page instance, type is BasePage.

ModelClass

Associated data model class, type is typeof Jit.BaseModel.

primaryKey

Primary key field name, type is string, default is "id".

fullName

Component full name, type is string.

compType

Component type, type is COMPONENT_TYPE.

type

Component type identifier, type is string.

Events

afterRowClick

Value click event, triggered when user clicks data values.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
dataRowDataClicked row data-Yes

Usage Example

Listen to Value Click Event
const transposeComp = app.getElement('components.Transpose1');
transposeComp.subscribeEvent('afterRowClick', (data) => {
console.log('Clicked row data:', data.activeRow);
});

afterAddRow

After adding data event, triggered when data is successfully added.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
dataRowListOperated data list-Yes

afterDeleteRow

After deleting row event, triggered when data is successfully deleted.

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
dataRowListOperated data list-Yes

afterRowChange

After value change event, triggered when data values change (PC only).

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
dataRowDataChanged row data-Yes

afterEditRow

After editing row event, triggered when row data is edited (Mobile only).

Parameter Details

Parameter NameTypeDescriptionDefault ValueRequired
dataRowListOperated data list-Yes

Usage Example

Listen to Data Change Event
const transposeComp = app.getElement('components.Transpose1');
transposeComp.subscribeEvent('afterRowChange', (data) => {
console.log('Data changed:', data.activeRow);
});

Advanced Features

Field Configuration

Fine control over each field's display and behavior through fieldConfig property:

Field Configuration Example
{
"fieldConfig": {
"custName": {
"alias": "Customer Name",
"position": "center"
}
}
}

Dynamic Button Configuration

Support for configuring custom buttons in left, right, and menu areas:

Button Configuration Example
{
"rightBtnList": [
{
"name": "Export",
"outputId": "exportBtn"
}
]
}

Mobile Adaptation

Component supports both PC and mobile platforms, switch through platform configuration:

Mobile Configuration
{
"platform": "MOBILE"
}
JitAI AssistantBeta
Powered by JitAI