React Hierarchical Grid の条件付きセルのスタイル設定
React Hierarchical Grid の Ignite UI for React コンポーネントを使用すると、行またはセル レベルでカスタム スタイルを設定できます。IgrHierarchicalGrid
条件付きセルのスタイル設定機能は、特定の基準を満たすデータを視覚的に強調またはハイライト表示するために使用され、ユーザーがグリッド内の重要な情報や傾向を簡単に識別できるようにします。
Hierarchical Grid 条件付き行のスタイル設定
Ignite UI for React の IgrHierarchicalGrid
コンポーネントは、カスタム ルールに基づいて行の条件付きスタイル設定を作成する次の 2 つの方法を提供します:
IgrHierarchicalGrid
コンポーネントでrowClasses
入力を設定する方法。IgrHierarchicalGrid
コンポーネントでrowStyles
入力を設定する方法。
さらにこのトピックでは、両方について詳しく説明します。
RowClasses の使用
IgrHierarchicalGrid
行の条件付きスタイル設定は、rowClasses
入力を設定してカスタム条件を定義するころによりスタイル設定できます。
<IgrHierarchicalGrid id="grid" height="600px" width="100%" rowClasses={rowClasses}>
</IgrHierarchicalGrid>
tsx
rowClasses
入力は、キーと値のペアを含むオブジェクト リテラルを受け取ります。キーは CSS クラスの名前です。値はブール値を返すコールバック関数またはブール値です。
const rowClasses = {
activeRow: (row: IgrRowType) => row.index === 0
}
tsx
.activeRow {
border: 2px solid #fc81b8;
border-left: 3px solid #e41c77;
}
css
デモ
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { IgrHierarchicalGridModule } from "@infragistics/igniteui-react-grids";
import { IgrHierarchicalGrid, IgrColumn, IgrRowIsland } from "@infragistics/igniteui-react-grids";
import SingersData from './SingersData.json';
import { IgrRowType } from "@infragistics/igniteui-react-grids";
import "@infragistics/igniteui-react-grids/grids/combined";
import "@infragistics/igniteui-react-grids/grids/themes/light/bootstrap.css";
const mods: any[] = [
IgrHierarchicalGridModule
];
mods.forEach((m) => m.register());
export default class Sample extends React.Component<any, any> {
private hierarchicalGrid1: IgrHierarchicalGrid
private hierarchicalGrid1Ref(r: IgrHierarchicalGrid) {
this.hierarchicalGrid1 = r;
this.setState({});
}
private rowIsland1: IgrRowIsland
private rowIsland2: IgrRowIsland
private rowIsland3: IgrRowIsland
constructor(props: any) {
super(props);
this.hierarchicalGrid1Ref = this.hierarchicalGrid1Ref.bind(this);
}
public render(): JSX.Element {
return (
<div className="container sample ig-typography">
<div className="container fill">
<IgrHierarchicalGrid
autoGenerate={false}
data={this.singersData}
primaryKey="ID"
rowClasses={this.webGridRowClassesHandler}
ref={this.hierarchicalGrid1Ref}>
<IgrColumn
field="Artist"
header="Artist"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Photo"
header="Photo"
dataType="image"
minWidth="115px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Debut"
header="Debut"
dataType="number"
minWidth="88px"
maxWidth="230px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="GrammyNominations"
header="Grammy Nominations"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="GrammyAwards"
header="Grammy Awards"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Albums"
autoGenerate={false}
rowClasses={this.webGridRowClassesHandler}
name="rowIsland1">
<IgrColumn
field="Album"
header="Album"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="LaunchDate"
header="Launch Date"
dataType="date"
resizable={true}>
</IgrColumn>
<IgrColumn
field="BillboardReview"
header="Billboard Review"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="USBillboard200"
header="US Billboard 200"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Songs"
autoGenerate={false}
rowClasses={this.webGridRowClassesHandler}
name="rowIsland2">
<IgrColumn
field="Number"
header="No."
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Title"
header="Title"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Released"
header="Released"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Genre"
header="Genre"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrRowIsland>
<IgrRowIsland
childDataKey="Tours"
autoGenerate={false}
rowClasses={this.webGridRowClassesHandler}
name="rowIsland3">
<IgrColumn
field="Tour"
header="Tour"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="StartedOn"
header="Started on"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Location"
header="Location"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Headliner"
header="Headliner"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrHierarchicalGrid>
</div>
</div>
);
}
private _singersData: any[] = SingersData;
public get singersData(): any[] {
return this._singersData;
}
public webGridRowClassesHandler = {
activeRow: (row: IgrRowType) => row.index % 2 === 0
};
}
// rendering above component in the React DOM
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Sample/>);
tsx/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
.activeRow {
border-top: 2px solid #fc81b8;
border-left: 3px solid #e41c77;
}
css
このサンプルが気に入りましたか? 完全な Ignite UI for Reactツールキットにアクセスして、すばやく独自のアプリの作成を開始します。無料でダウンロードできます。
RowStyles の使用
IgrHierarchicalGrid
コントロールは、データ行の条件付きスタイル設定を可能にする rowStyles
プロパティを公開します。rowClasses
と同様、キーがスタイル プロパティであり、値が評価用の式であるオブジェクト リテラルを受け取ります。また、通常のスタイル設定 (条件なし) を適用することもできます。
rowStyles
とrowClasses
の両方のコールバック署名は以下のとおりです。
(row: IgrRowType) => boolean
tsx
次にスタイルを定義します。
public rowStyles = {
background:(row: RowType) => row.data['HasGrammyAward'] ? '#eeddd3' : '#f0efeb',
'border-left': (row: RowType) => row.data['HasGrammyAward'] ? '2px solid #dda15e' : null
};
public childRowStyles = {
'border-left': (row: RowType) => row.data['BillboardReview'] > 70 ? '3.5px solid #dda15e' : null
};
typescript
<IgrHierarchicalGrid autoGenerate="true" rowStyles={rowStyles}
height="580px" width="100%">
<IgrRowIsland childDataKey="Albums" autoGenerate="true" rowStyles={childRowStyles}>
</IgrRowIsland>
</IgrHierarchicalGrid>
tsx
デモ
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { IgrHierarchicalGridModule } from "@infragistics/igniteui-react-grids";
import { IgrHierarchicalGrid, IgrColumn, IgrRowIsland } from "@infragistics/igniteui-react-grids";
import SingersData from './SingersData.json';
import { IgrPropertyEditorPropertyDescriptionButtonClickEventArgs } from "@infragistics/igniteui-react-layouts";
import { IgrGrid, IgrRowType } from "@infragistics/igniteui-react-grids";
import "@infragistics/igniteui-react-grids/grids/combined";
import "@infragistics/igniteui-react-grids/grids/themes/light/bootstrap.css";
const mods: any[] = [
IgrHierarchicalGridModule
];
mods.forEach((m) => m.register());
export default class Sample extends React.Component<any, any> {
private hierarchicalGrid1: IgrHierarchicalGrid
private hierarchicalGrid1Ref(r: IgrHierarchicalGrid) {
this.hierarchicalGrid1 = r;
this.setState({});
}
private rowIsland1: IgrRowIsland
constructor(props: any) {
super(props);
this.hierarchicalGrid1Ref = this.hierarchicalGrid1Ref.bind(this);
}
public render(): JSX.Element {
return (
<div className="container sample ig-typography">
<div className="container fill">
<IgrHierarchicalGrid
autoGenerate={false}
data={this.singersData}
primaryKey="ID"
rowStyles={this.webHierarchicalGridRowStylesHandler}
ref={this.hierarchicalGrid1Ref}>
<IgrColumn
field="Artist"
header="Artist"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Photo"
header="Photo"
dataType="image"
minWidth="115px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Debut"
header="Debut"
dataType="number"
minWidth="88px"
maxWidth="230px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="GrammyNominations"
header="Grammy Nominations"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="GrammyAwards"
header="Grammy Awards"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Albums"
autoGenerate={false}
rowStyles={this.webHierarchicalGridChildRowStylesHandler}
name="rowIsland1">
<IgrColumn
field="Album"
header="Album"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="LaunchDate"
header="Launch Date"
dataType="date"
resizable={true}>
</IgrColumn>
<IgrColumn
field="BillboardReview"
header="Billboard Review"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="USBillboard200"
header="US Billboard 200"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Songs"
autoGenerate={false}>
<IgrColumn
field="Number"
header="No."
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Title"
header="Title"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Released"
header="Released"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Genre"
header="Genre"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrRowIsland>
<IgrRowIsland
childDataKey="Tours"
autoGenerate={false}>
<IgrColumn
field="Tour"
header="Tour"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="StartedOn"
header="Started on"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Location"
header="Location"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Headliner"
header="Headliner"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrHierarchicalGrid>
</div>
</div>
);
}
private _singersData: any[] = SingersData;
public get singersData(): any[] {
return this._singersData;
}
public webHierarchicalGridRowStylesHandler = {
background:(row: IgrRowType) => row.data['HasGrammyAward'] ? '#eeddd3' : '#f0efeb',
'border-left': (row: IgrRowType) => row.data['HasGrammyAward'] ? '2px solid #dda15e' : null
};
public webHierarchicalGridChildRowStylesHandler = {
'border-left': (row: IgrRowType) => row.data['BillboardReview'] > 70 ? '3.5px solid #dda15e' : null
};
}
// rendering above component in the React DOM
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Sample/>);
tsx/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
css
Hierarchical Grid 条件付きセルのスタイル設定
概要
Ignite UI for React の IgrHierarchicalGrid
コンポーネントは、カスタム ルールに基づいてセルの条件付きスタイル設定を作成する次の 2 つの方法を提供します:
IgrColumn
入力cellClasses
をキーと値のペアを含むオブジェクト リテラルに設定します。キーは CSS クラスの名前です。値はブール値を返すコールバック関数またはブール値です。その結果、セルのマテリアル スタイル設定が簡単にできます。
CellClasses の使用
IgrColumn
cellClasses
入力を設定してカスタム条件を定義することにより、IgrHierarchicalGrid
の条件付きセルのスタイルを設定できます。
<IgrColumn field="BeatsPerMinute" dataType="Number" cellClasses={this.grammyNominationsCellClassesHandler}></IgrColumn>
tsx
cellClasses
入力は、キーと値のペアを含むオブジェクト リテラルを受け取ります。キーは CSS クラスの名前です。値はブール値を返すコールバック関数またはブール値です。
public grammyNominationsCellClassesHandler = {
downFont: (rowData: any, columnKey: any): boolean => rowData[columnKey] < 5,
upFont: (rowData: any, columnKey: any): boolean => rowData[columnKey] >= 6
};
tsx
.upFont {
color: green !important;
}
.downFont {
color: red !important;
}
css
デモ
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { IgrHierarchicalGridModule } from "@infragistics/igniteui-react-grids";
import { IgrHierarchicalGrid, IgrColumn, IgrRowIsland } from "@infragistics/igniteui-react-grids";
import SingersData from './SingersData.json';
import "@infragistics/igniteui-react-grids/grids/combined";
import "@infragistics/igniteui-react-grids/grids/themes/light/bootstrap.css";
const mods: any[] = [
IgrHierarchicalGridModule
];
mods.forEach((m) => m.register());
export default class Sample extends React.Component<any, any> {
private hierarchicalGrid1: IgrHierarchicalGrid
private hierarchicalGrid1Ref(r: IgrHierarchicalGrid) {
this.hierarchicalGrid1 = r;
this.setState({});
}
private column1: IgrColumn
constructor(props: any) {
super(props);
this.hierarchicalGrid1Ref = this.hierarchicalGrid1Ref.bind(this);
}
public render(): JSX.Element {
return (
<div className="container sample ig-typography">
<div className="container fill">
<IgrHierarchicalGrid
autoGenerate={false}
data={this.singersData}
primaryKey="ID"
ref={this.hierarchicalGrid1Ref}>
<IgrColumn
field="Artist"
header="Artist"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Photo"
header="Photo"
dataType="image"
minWidth="115px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Debut"
header="Debut"
dataType="number"
minWidth="88px"
maxWidth="230px"
resizable={true}>
</IgrColumn>
<IgrColumn
field="GrammyNominations"
header="Grammy Nominations"
dataType="string"
resizable={true}
cellClasses={this.webGridGrammyNominationsCellClassesHandler}
name="column1">
</IgrColumn>
<IgrColumn
field="GrammyAwards"
header="Grammy Awards"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Albums"
autoGenerate={false}>
<IgrColumn
field="Album"
header="Album"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="LaunchDate"
header="Launch Date"
dataType="date"
resizable={true}>
</IgrColumn>
<IgrColumn
field="BillboardReview"
header="Billboard Review"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="USBillboard200"
header="US Billboard 200"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Songs"
autoGenerate={false}>
<IgrColumn
field="Number"
header="No."
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Title"
header="Title"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Released"
header="Released"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Genre"
header="Genre"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrRowIsland>
<IgrRowIsland
childDataKey="Tours"
autoGenerate={false}>
<IgrColumn
field="Tour"
header="Tour"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="StartedOn"
header="Started on"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Location"
header="Location"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Headliner"
header="Headliner"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrHierarchicalGrid>
</div>
</div>
);
}
private _singersData: any[] = SingersData;
public get singersData(): any[] {
return this._singersData;
}
public webGridGrammyNominationsCellClassesHandler = {
downFont: (rowData: any, columnKey: any): boolean => rowData[columnKey] < 5,
upFont: (rowData: any, columnKey: any): boolean => rowData[columnKey] >= 6
};
}
// rendering above component in the React DOM
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Sample/>);
tsx/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
.upFont {
color: green !important;
}
.downFont {
color: red !important;
}
css
IgrColumn
入力を使用して、キーがスタイル プロパティであり、値が評価用の式であるオブジェクト リテラルを受け取るcellStyles
。
cellStyles
とcellClasses
の両方のコールバック シグネチャが次のように変更されました。
(rowData: any, columnKey: string, cellValue: any, rowIndex: number) => boolean
ts
CellStyles の使用
列の cellStyles
プロパティを公開。列セルの条件付きスタイリングが可能になりました。cellClasses
と同様、キーがスタイル プロパティであり、値が評価用の式であるオブジェクト リテラルを受け取ります。また、通常のスタイリングを簡単に適用できます (条件なし)。
次にスタイルを定義します。
const cellStylesHandler = {
background: (rowData, columnKey, cellValue, rowIndex) => rowIndex % 2 === 0 ? "#EFF4FD" : null,
color: (rowData, columnKey, cellValue, rowIndex) => {
if (columnKey === "Debut") {
return cellValue > 2000 ? "#28a745" : "#dc3545";
}
return undefined;
}
}
tsx
<IgrColumn cellStyles={cellStylesHandler}></IgrColumn>
tsx
デモ
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import { IgrHierarchicalGridModule } from "@infragistics/igniteui-react-grids";
import { IgrHierarchicalGrid, IgrColumn, IgrRowIsland } from "@infragistics/igniteui-react-grids";
import SingersData from './SingersData.json';
import { IgrPropertyEditorPropertyDescriptionButtonClickEventArgs } from "@infragistics/igniteui-react-layouts";
import { IgrGrid, IgrRowType } from "@infragistics/igniteui-react-grids";
import "@infragistics/igniteui-react-grids/grids/combined";
import "@infragistics/igniteui-react-grids/grids/themes/light/bootstrap.css";
const mods: any[] = [
IgrHierarchicalGridModule
];
mods.forEach((m) => m.register());
export default class Sample extends React.Component<any, any> {
private hierarchicalGrid1: IgrHierarchicalGrid
private hierarchicalGrid1Ref(r: IgrHierarchicalGrid) {
this.hierarchicalGrid1 = r;
this.setState({});
}
private column1: IgrColumn
private column2: IgrColumn
private column3: IgrColumn
private column4: IgrColumn
private column5: IgrColumn
private column6: IgrColumn
constructor(props: any) {
super(props);
this.hierarchicalGrid1Ref = this.hierarchicalGrid1Ref.bind(this);
}
public render(): JSX.Element {
return (
<div className="container sample ig-typography">
<div className="container fill">
<IgrHierarchicalGrid
autoGenerate={false}
data={this.singersData}
primaryKey="ID"
ref={this.hierarchicalGrid1Ref}>
<IgrColumn
field="Artist"
header="Artist"
dataType="string"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column1">
</IgrColumn>
<IgrColumn
field="HasGrammyAward"
header="Has Grammy Award?"
dataType="boolean"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column2">
</IgrColumn>
<IgrColumn
field="Photo"
header="Photo"
dataType="image"
minWidth="115px"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column3">
</IgrColumn>
<IgrColumn
field="Debut"
header="Debut"
dataType="number"
minWidth="88px"
maxWidth="230px"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column4">
</IgrColumn>
<IgrColumn
field="GrammyNominations"
header="Grammy Nominations"
dataType="string"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column5">
</IgrColumn>
<IgrColumn
field="GrammyAwards"
header="Grammy Awards"
dataType="string"
resizable={true}
cellStyles={this.webHierarchicalGridCellStylesHandler}
name="column6">
</IgrColumn>
<IgrRowIsland
childDataKey="Albums"
autoGenerate={false}>
<IgrColumn
field="Album"
header="Album"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="LaunchDate"
header="Launch Date"
dataType="date"
resizable={true}>
</IgrColumn>
<IgrColumn
field="BillboardReview"
header="Billboard Review"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="USBillboard200"
header="US Billboard 200"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrRowIsland
childDataKey="Songs"
autoGenerate={false}>
<IgrColumn
field="Number"
header="No."
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Title"
header="Title"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Released"
header="Released"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Genre"
header="Genre"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrRowIsland>
<IgrRowIsland
childDataKey="Tours"
autoGenerate={false}>
<IgrColumn
field="Tour"
header="Tour"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="StartedOn"
header="Started on"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Location"
header="Location"
dataType="string"
resizable={true}>
</IgrColumn>
<IgrColumn
field="Headliner"
header="Headliner"
dataType="string"
resizable={true}>
</IgrColumn>
</IgrRowIsland>
</IgrHierarchicalGrid>
</div>
</div>
);
}
private _singersData: any[] = SingersData;
public get singersData(): any[] {
return this._singersData;
}
public webHierarchicalGridCellStylesHandler = {
background: (rowData: any, columnKey: any, cellValue: any, rowIndex: any) => rowIndex % 2 === 0 ? "#EFF4FD" : null,
color: (rowData: any, columnKey: any, cellValue: any, rowIndex: any) => {
if (columnKey === "Debut") {
return cellValue > 2000 ? "#28a745" : "#dc3545";
}
return undefined;
}
};
}
// rendering above component in the React DOM
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<Sample/>);
tsx/* shared styles are loaded from: */
/* https://static.infragistics.com/xplatform/css/samples */
css
既知の問題と制限
- 他の列に同じ条件でバインドされたセルがある場合に、そのうち 1 つのセルが更新された際に条件が満たされている場合も、他のセルが新しい値に基づいて更新されない問題。
let backgroundClasses = {
myBackground: (rowData: any, columnKey: string) => {
return rowData.Col2 < 10;
}
};
function editDone(grid, evt) {
backgroundClasses = {...backgroundClasses};
}
<IgrHierarchicalGrid id="grid1" height="500px" width="100%" onCellEdit={editDone}>
<IgrColumn id="Col1" field="Col1" dataType="number" cellClasses={backgroundClasses}></IgrColumn>
<IgrColumn id="Col2" field="Col2" dataType="number" editable="true" cellClasses={backgroundClasses}></IgrColumn>
<IgrColumn id="Col3" field="Col3" header="Col3" dataType="string" cellClasses={backgroundClasses}></IgrColumn>
</IgrHierarchicalGrid>
tsx
API リファレンス
その他のリソース
コミュニティに参加して新しいアイデアをご提案ください。