React DataGrid - columns.buttons
Allows you to customize buttons in the editing column or create a custom command column. Applies only if the column's type is "buttons".
component
An alias for the template option specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.
hint
Specifies the text for the hint that appears when the button is hovered over or long-pressed.
icon
Specifies the button's icon.
This option accepts one of the following:
- The icon's URL
- The icon's name if the icon is from the DevExtreme icon library
- The icon's CSS class if the icon is from an external icon library (see External Icon Libraries)
- The icon in the Base64 format
- The icon in the SVG format. Ensure that the source is reliable.
See Also
- buttons[].text
name
The name used to identify a built-in button.
To configure a built-in button, assign its name to this option. The other options in the object configure the button. For example, the following code adds a custom CSS class to the Save button:
jQuery
$(function () {
$("#dataGridContainer").dxDataGrid({
// ...
columns: [{
type: "buttons",
buttons: [{
name: "save",
cssClass: "my-class"
}]
}]
});
});Angular
<dx-data-grid ... >
<dxi-column type="buttons">
<dxi-button
name="save"
cssClass="my-class">
</dxi-button>
</dxi-column>
</dx-data-grid>
import { DxDataGridModule } from "devextreme-angular";
// ...
export class AppComponent {
// ...
}
@NgModule({
imports: [
// ...
DxDataGridModule
],
// ...
})onClick
A function that is executed when the button is clicked or tapped.
Information about the event that caused the function's execution.
| Name | Type | Description |
|---|---|---|
| column |
The properties of the button's column. |
|
| component |
The widget's instance. |
|
| element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
| event | Event (jQuery or EventObject) |
The event that caused the function to execute. It is a dxEvent or a jQuery.Event when you use jQuery. |
| model |
The model data. Available only if you use Knockout. |
|
| row |
The properties of the button's row. |
render
An alias for the template option specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.
template
Specifies a custom button template.
| Name | Type | Description |
|---|---|---|
| column |
The column's properties. |
|
| columnIndex |
The index of the cell's column. |
|
| component |
The widget's instance. |
|
| data |
The data of the cell's row. |
|
| key | any |
The row's key. |
| row |
The row's properties. |
|
| rowIndex |
The index of the cell's row. Begins with 0 on each page. Group rows are included. |
|
| rowType |
The row's type. |
See Also
visible
Specifies the button's visibility.
Information about the row and column that contain the button.
| Name | Type | Description |
|---|---|---|
| column |
The column's properties. |
|
| component |
The widget's instance. |
|
| row |
The row's properties. |
true if the button should be visible; otherwise, false.
Use the function to show or hide the button for specific rows. For example, the widget lists online orders and allows users to edit them. The Cancel button should allow users to cancel their orders. However, completed orders should not be canceled. The visible function in this case may look as follows:
jQuery
$(function () {
$("#dataGridContainer").dxDataGrid({
// ...
columns: [{
type: "buttons",
buttons: [{
text: "Cancel",
visible: function (e) {
return !e.row.isEditing && !e.row.data.isCompleted;
}
}]
}]
});
});Angular
<dx-data-grid ... >
<dxi-column type="buttons">
<dxi-button
text="Cancel"
[visible]="isCancelButtonVisible">
</dxi-button>
</dxi-column>
</dx-data-grid>
import { DxDataGridModule } from "devextreme-angular";
// ...
export class AppComponent {
isCancelButtonVisible (e) {
return !e.row.isEditing && !e.row.data.isCompleted;
}
}
@NgModule({
imports: [
// ...
DxDataGridModule
],
// ...
})