Skip to main content
Version: 2.0.x

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"
}