25
loading...
This website collects cookies to deliver better user experience
$ npx create-react-app devgrid
// index.js
import React from "react";
import "semantic-ui-css/semantic.min.css";
//DevGrid.js
import React from "react";
import "devextreme/dist/css/dx.common.css";
import "devextreme/dist/css/dx.light.css";
import DataGrid, {
FilterPanel,
FilterRow,
SearchPanel,
Paging,
Editing,
Export,
Pager,
Grouping,
GroupPanel,
RowDragging,
Column,
RequiredRule,
} from "devextreme-react/data-grid";
import { Popup } from "devextreme-react/popup";
import { Segment, Button, Form } from "semantic-ui-react";
const DevGrid = () => {
return (
<Segment>
<h1>Welcome To Devgrid</h1>
<div className="ui info message">
<div className="header">We Love To Learn.</div>
</div>
<div>
<DataGrid
id="devgrid"
className="dx-datagrid dx-row-alt"
hoverStateEnabled={true}
columnAutoWidth={true}
dataSource={DataSource}
activeStateEnabled={true}
columnResizingMode="widget"
allowColumnResizing={true}
columnHidingEnabled={true}>
<RowDragging allowReordering={true} />
<FilterPanel visible={true} />
<SearchPanel visible={true} />
<FilterRow visible={true} />
<Paging defaultPageSize={10} />
<Pager
showPageSizeSelector={true}
allowedPageSizes={[10, 20, 50, 100]}
showInfo={true}
/>
<Grouping contextMenuEnabled={true} />
<GroupPanel visible={true} />
<Editing
mode="popup"
useIcons={true}
allowUpdating={true}
allowDeleting={true}
allowAdding={true}>
{" "}
</Editing>
<Export
enabled={true}
fileName="Devgrid"
allowExportSelectedData={true}
/>
<Column dataField="ID" visible={false}></Column>
<Column dataField="Prefix">
<RequiredRule />
</Column>
<Column dataField=" FirstName">
<RequiredRule />
</Column>
<Column dataField="LastName">
<RequiredRule />
</Column>
</DataGrid>
</div>
</Segment>
);
};
export default DevGrid;
const myData = [
{
ID: 1,
FirstName: "Leesi",
LastName: "Heart",
Prefix: "Mrs.",
},
{
ID: 2,
FirstName: "Testimonies",
LastName: "Drake",
Prefix: "Mrs.",
},
{
ID: 3,
FirstName: "Olivia",
LastName: "Regina",
Prefix: "Mrs.",
},
{
ID: 4,
FirstName: "Owanate",
LastName: "Peter",
Prefix: "Ms.",
},
{
ID: 5,
FirstName: "Leera",
LastName: "Samuel",
Prefix: "Ms.",
},
{
ID: 6,
FirstName: "Becky",
LastName: "Craig",
Prefix: "Mrs.",
},
{
ID: 7,
FirstName: "Gloria",
LastName: "Johnson",
Prefix: "Ms.",
},
];
<DataGrid
...
dataSource={myData}
>
...
</DataGrid>
<Popup
title="Create"
showCloseButton={false}
width={700}
minHeight={"auto"}
height={600}>
<Form size="large" >
<Form.Field>
<label>ID</label>
<input placeholder="ID" />
</Form.Field>
<Form.Field>
<label>Prefix</label>
<input placeholder="Prefix" />
</Form.Field>
<Form.Field>
<label>First Name</label>
<input placeholder="First Name" />
</Form.Field>
<Form.Field>
<label>Last Name</label>
<input placeholder="Last Name" />
</Form.Field>
<Form.Field></Form.Field>
<Button.Group>
<Button positive>Save</Button>
<Button.Or />
<Button>Cancel</Button>
</Button.Group>
</Form>
</Popup>
const [onVisible, setOnVisible] = React.useState(false);
const handleAddNew = () => {
setOnVisible(true);
};
<Popup
visible={onVisible}
>
<Form size="large" setOnVisible={() => setOnVisible(false)}>
function onToolbarPreparing(e) {
let toolsItems = e.toolbarOptions.items;
for (let i = 0; i < toolsItems.length; i++) {
let item = toolsItems[i];
if (item.name === "addRowButton") {
item.options.onClick = handleAddNew;
break;
}
}
}
<DataGrid
id="devgrid"
className="dx-datagrid dx-row-alt"
hoverStateEnabled={true}
columnAutoWidth={true}
dataSource={myData}
activeStateEnabled={true}
columnResizingMode="widget"
allowColumnResizing={true}
onToolbarPreparing={onToolbarPreparing}
columnHidingEnabled={true}>
import React, { useState, useEffect } from "react";
import "devextreme/dist/css/dx.common.css";
import "devextreme/dist/css/dx.light.css";
import DataGrid, {
FilterPanel,
FilterRow,
SearchPanel,
Paging,
Lookup,
Position,
Editing,
Export,
Pager,
Grouping,
GroupPanel,
RowDragging,
Column,
RequiredRule,
} from "devextreme-react/data-grid";
import { Popup } from "devextreme-react/popup";
import { Segment, Button, Form } from "semantic-ui-react";
import axios from "axios";
const DevGrid = () => {
const [onVisible, setOnVisible] = React.useState(false);
const myData = [
{
ID: 1,
FirstName: "Leesi",
LastName: "Heart",
Prefix: "Mrs.",
},
{
ID: 2,
FirstName: "Testimonies",
LastName: "Drake",
Prefix: "Mrs.",
},
{
ID: 3,
FirstName: "Olivia",
LastName: "Regina",
Prefix: "Mrs.",
},
{
ID: 4,
FirstName: "Owanate",
LastName: "Peter",
Prefix: "Ms.",
},
{
ID: 5,
FirstName: "Leera",
LastName: "Samuel",
Prefix: "Ms.",
},
{
ID: 6,
FirstName: "Becky",
LastName: "Craig",
Prefix: "Mrs.",
},
{
ID: 7,
FirstName: "Gloria",
LastName: "Johnson",
Prefix: "Ms.",
},
];
const handleAddNew = () => {
setOnVisible(true);
};
function onToolbarPreparing(e) {
let toolsItems = e.toolbarOptions.items;
for (let i = 0; i < toolsItems.length; i++) {
let item = toolsItems[i];
if (item.name === "addRowButton") {
item.options.onClick = handleAddNew;
break;
}
}
}
return (
<Segment>
<h1>Welcome To Devgrid</h1>
<div className="ui info message">
<div className="header">We Love To Learn.</div>
</div>
<div>
<DataGrid
id="devgrid"
className="dx-datagrid dx-row-alt"
hoverStateEnabled={true}
columnAutoWidth={true}
dataSource={myData}
activeStateEnabled={true}
columnResizingMode="widget"
allowColumnResizing={true}
onToolbarPreparing={onToolbarPreparing}
columnHidingEnabled={true}>
<RowDragging allowReordering={true} />
<FilterPanel visible={true} />
<SearchPanel visible={true} />
<FilterRow visible={true} />
<Paging defaultPageSize={10} />
<Pager
showPageSizeSelector={true}
allowedPageSizes={[10, 20, 50, 100]}
showInfo={true}
/>
<Grouping contextMenuEnabled={true} />
<GroupPanel visible={true} />
<Editing
mode="popup"
useIcons={true}
allowUpdating={true}
allowDeleting={true}
allowAdding={true}>
{" "}
</Editing>
<Export
enabled={true}
fileName="Devgrid"
allowExportSelectedData={true}
/>
<Column dataField="ID" visible={false}></Column>
<Column dataField="Prefix">
<RequiredRule />
</Column>
<Column dataField="FirstName">
<RequiredRule />
</Column>
<Column dataField="LastName">
<RequiredRule />
</Column>
</DataGrid>
<Popup
title="Create"
// showTitle={true}
visible={onVisible}
showCloseButton={false}
width={700}
minHeight={"auto"}
height={600}>
<Form size="large" setOnVisible={() =>
setOnVisible(false)}>
<Form.Field>
<label>ID</label>
<input placeholder="ID" />
</Form.Field>
<Form.Field>
<label>Prefix</label>
<input placeholder="Prefix" />
</Form.Field>
<Form.Field>
<label>First Name</label>
<input placeholder="First Name" />
</Form.Field>
<Form.Field>
<label>Last Name</label>
<input placeholder="Last Name" />
</Form.Field>
<Form.Field></Form.Field>
<Button.Group>
<Button positive>Save</Button>
<Button.Or />
<Button>Cancel</Button>
</Button.Group>
</Form>
</Popup>
</div>
</Segment>
);
};
export default DevGrid;