JavaScript/jQuery Popover - toolbarItems
Configures toolbar items.
In the following code, two items are defined on the toolbar: one is plain text, another is the Button widget:
jQuery
$(function() {
    $("#popoverContainer").dxPopover({
        // ...
        toolbarItems: [{
            text: "Title",
            location: "before"
        }, {
            widget: "dxButton",
            location: "after",
            options: { 
                text: "Refresh", 
                onClick: function(e) { /* ... */ }
            }
        }]
    });
});
<div id="popoverContainer">
    <p>Popover content</p>
</div>Angular
<dx-popover ... >
    <div *dxTemplate="let data of 'content'">
        <p>Popover content</p>
    </div>
    <dxi-toolbar-item
        text="Title"
        location="before">
    </dxi-toolbar-item>
    <dxi-toolbar-item
        widget="dxButton"
        location="after"
        [options]="{
            text: 'Refresh',
            onClick: refresh
        }">
    </dxi-toolbar-item>
</dx-popover>
import { Component } from '@angular/core';
@Component({
    selector: 'app-root',
    templateUrl: './app.component.html',
    styleUrls: ['./app.component.css']
})
export class AppComponent {
    refresh () { /* ... */ }
}
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { DxPopoverModule } from 'devextreme-angular';
@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        DxPopoverModule
    ],
    providers: [],
    bootstrap: [AppComponent]
})
export class AppModule { }ASP.NET MVC Controls
@(Html.DevExtreme().Popover()
    <!-- ... -->
    .ContentTemplate(@<text>
        <p>Popover content</p>
    </text>)
    .ToolbarItems(ti => {
        ti.Add()
            .Text("Title")
            .Location(ToolbarItemLocation.Before);
        ti.Add()
            .Widget(w => w.Button()
                .Text("Refresh")
                .OnClick("refresh"))
            .Location(ToolbarItemLocation.After);
    }
)
<script type="text/javascript">
    function refresh() { /* ... */ }
</script>Vue
<template> 
    <DxPopover ... >
        <p>Popover content</p>
        <DxToolbarItem 
            text="Title" 
            location="before">
        </DxToolbarItem>
        <DxToolbarItem 
            widget="dxButton" 
            :options="buttonOptions" 
            location="after">
        </DxToolbarItem>
    </DxPopover>
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import DxPopover, { DxToolbarItem } from 'devextreme-vue/popover';
export default {
    components: {
        DxPopover
    },
    data() {
        return {
            buttonOptions: {
                text: 'Refresh',
                onClick: function(e) { /* ... */ }
            }
        }
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import { Popover, ToolbarItem } from 'devextreme-react/popover';
class App extends React.Component {
    constructor() {
        this.buttonOptions = {
            text: 'Refresh',
            onClick: function(e) { /* ... */ }
        };
    }
    render() {
        return (
            <Popover ... >
                <p>Popover Content</p>
                <ToolbarItem 
                    text="Title" 
                    location="before">
                </ToolbarItem>
                <ToolbarItem 
                    widget="dxButton" 
                    location="after" 
                    options={this.buttonOptions}>
                </ToolbarItem>
            </Popover>
        );
    }
}
export default App;component
An alias for the template property specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.
disabled
Specifies whether the toolbar item responds to user interaction.
location
Specifies a location for the item on the toolbar.
Use the ToolbarItemLocation enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Before, After, and Center.
options
Configures the DevExtreme widget used as a toolbar item.
options should contain the options of the DevExtreme widget specified in the widget option. Because of this dependency, options cannot be typed and are not implemented as nested configuration components in Angular, Vue, and React. In these frameworks, specify options with an object. We recommend that you declare the object outside the configuration component in Vue and React to prevent possible issues caused by unnecessary re-rendering.
Angular
<dx-popover ... >
    <dxi-toolbar-item
        widget="dxCheckBox"
        [options]="{ text: 'Show IDs' }">
    </dxi-toolbar-item>
</dx-popover>
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
import { DxPopoverModule } from 'devextreme-angular';
@NgModule({
    declarations: [
        AppComponent
    ],
    imports: [
        BrowserModule,
        DxPopoverModule
    ],
    providers: [ ],
    bootstrap: [AppComponent]
})
export class AppModule { }Vue
<template>
    <DxPopover>
        <DxToolbarItem ...
            widget="dxCheckBox"
            :options="checkBoxOptions"
        />
    </DxPopover>
</template>
<script>
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import DxPopover, {
    DxToolbarItem
} from 'devextreme-vue/popover';
export default {
    components: {
        DxPopover,
        DxToolbarItem
    },
    data() {
        return {
            checkBoxOptions: { text: 'Show IDs' }
        }
    }
}
</script>React
import React from 'react';
import 'devextreme/dist/css/dx.common.css';
import 'devextreme/dist/css/dx.light.css';
import Popover, {
    ToolbarItem
} from 'devextreme-react/popover';
class App extends React.Component {
    checkBoxOptions = { text: 'Show IDs' };
    render() {
        return (
            <Popover ... >
                <ToolbarItem
                    widget="dxCheckBox"
                    options={this.checkBoxOptions}
                />
            </Popover>
        );
    }
}
export default App;When using ASP.NET MVC 5 Controls or DevExtreme-Based ASP.NET Core Controls, configure the widget with a lambda expression as follows:
@(Html.DevExtreme().Popover()
    .ToolbarItems(items => {
        items.Add().Widget(w => w
            // Instead of Button here can be any other widget
            .Button()
            .Text("Back")
        );
    })
)
@(Html.DevExtreme().Popover() _
    .ToolbarItems(Sub(items)
        items.Add().Widget(Function(w)
            ' Instead of Button here can be any other widget
            Return w.Button().Text("Back")
        End Function)
    End Sub)
)render
An alias for the template property specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.
template
Specifies a template that should be used to render this item only.
The following types of the specified value are available.
- Assign a jQuery object of the template's container.
 - Assign a DOM Node of the template's container.
 - Assign a function that returns the jQuery object or a DOM Node of the template's container.
 
toolbar
Specifies whether the item is displayed on a top or bottom toolbar.
Use the Toolbar enum to specify this option when the widget is used as an ASP.NET MVC 5 Control or a DevExtreme-Based ASP.NET Core Control. This enum accepts the following values: Top and Bottom.
widget
A widget that presents a toolbar item.
When using ASP.NET MVC 5 Controls or DevExtreme-Based ASP.NET Core Controls, configure the widget with a lambda expression as follows:
// Instead of Popup here you can use Popover
@(Html.DevExtreme().Popup()
    .ToolbarItems(items => {
        items.Add().Widget(w => w
            // Instead of Button here can be any other widget
            .Button()
            .Text("Back")
        );
    })
)' Instead of Popup here you can use Popover
@(Html.DevExtreme().Popup() _
    .ToolbarItems(Sub(items)
        items.Add().Widget(Function(w)
            ' Instead of Button here can be any other widget
            Return w.Button().Text("Back")
        End Function)
    End Sub)
)