All docs
V24.1
24.2
24.1
23.2
23.1
22.2
The page you are viewing does not exist in version 22.2.
22.1
The page you are viewing does not exist in version 22.1.
21.2
The page you are viewing does not exist in version 21.2.
21.1
The page you are viewing does not exist in version 21.1.
20.2
The page you are viewing does not exist in version 20.2.
20.1
The page you are viewing does not exist in version 20.1.
19.2
The page you are viewing does not exist in version 19.2.
19.1
The page you are viewing does not exist in version 19.1.
18.2
The page you are viewing does not exist in version 18.2.
18.1
The page you are viewing does not exist in version 18.1.
17.2
The page you are viewing does not exist in version 17.2.
Box
API
Row
Map

JavaScript/jQuery DataGrid - columnChooser.search

Configures the column chooser's search functionality.

jQuery
JavaScript
$(function(){
    $("#dataGrid").dxDataGrid({
        // ...
        columnChooser: {
            // ...
            search: {
                editorOptions: { 
                    placeholder: 'Search column',
                    mode: 'text' 
                },
                enabled: true,
                timeout: 800      
            },
        },
    })
});
Angular
app.component.html
app.component.ts
app.module.ts
<dx-data-grid ... >
    <dxo-column-chooser ... >
        <dxo-search
            [editorOptions]="searchEditorOptions"
            [enabled]="true"
            [timeout]="800"
        ></dxo-search>
    </dxo-column-chooser>
</dx-data-grid>
import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 

export class AppComponent {
    searchEditorOptions;
    constructor() {
        this.searchEditorOptions = { 
            placeholder: 'Search column', 
            mode: 'text' 
        };
        // ...
    } 
    // ...
}
import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { AppComponent } from './app.component'; 
import { DxDataGridModule } from 'devextreme-angular'; 

@NgModule({ 
    declarations: [ 
        AppComponent 
    ], 
    imports: [ 
        BrowserModule, 
        DxDataGridModule 
    ], 
    providers: [ ], 
    bootstrap: [AppComponent] 
}) 

export class AppModule { }  
Vue
App.vue (Options API)
App.vue (Composition API)
<template>
    <DxDataGrid ... >
        <DxColumnChooser ... >
            <DxColumnChooserSearch
                :editor-options="searchEditorOptions"
                :enabled="true"
                :timeout="800"
            />
        </DxColumnChooser>
    </DxDataGrid>
</template>

<script>
import 'devextreme/dist/css/dx.light.css';
import DxDataGrid, {
    DxColumnChooser, 
    DxColumnChooserSearch,
    // ... 
} from 'devextreme-vue/data-grid';

export default {
    components: {
        DxDataGrid, 
        DxColumnChooser, 
        DxColumnChooserSearch,
    },
    data() {
        return {
            searchEditorOptions: { 
                placeholder: 'Search column', 
                mode: 'text' 
            }
        };
    }
}
</script>
<template>
    <DxDataGrid ... >
        <DxColumnChooser ... >
            <DxColumnChooserSearch
                :editor-options="searchEditorOptions"
                :enabled="true"
                :timeout="800"
            />
        </DxColumnChooser>
    </DxDataGrid>
</template>

<script setup>
import 'devextreme/dist/css/dx.light.css';
import DxDataGrid, {
    DxColumnChooser, 
    DxColumnChooserSearch,
    // ... 
} from 'devextreme-vue/data-grid';

const searchEditorOptions = { 
    placeholder: 'Search column', 
    mode: 'text' 
};

// ...
</script>
React
App.js
import React from 'react';  
import 'devextreme/dist/css/dx.light.css'; 

import DataGrid, {
    ColumnChooser, 
    ColumnChooserSearch, 
    // ...
} from 'devextreme-react/data-grid';

const searchEditorOptions = { 
    placeholder: 'Search column', 
    mode: 'text' 
};

export default function App() { 
    return ( 
        <DataGrid ... > 
            <ColumnChooser ... >
                <ColumnChooserSearch
                    editorOptions={searchEditorOptions}
                    enabled={true}
                    timeout={800}
                />
            </ColumnChooser>
        </DataGrid>        
    ); 
} 

editorOptions

Configures the search box.

Type: any
Default Value: {}

See the TextBox Configuration topic for information about properties you can specify in this object.

Angular
NOTE
The nested component that configures the editorOptions property does not support event bindings and two-way property bindings.
Vue
NOTE
The nested component that configures the editorOptions property does not support event bindings and two-way property bindings.
jQuery
JavaScript
$(function(){
    $("#dataGrid").dxDataGrid({
        // ...
        columnChooser: {
            // ...
            search: {
                editorOptions: { 
                    placeholder: 'Search column',
                    mode: 'text',
                    onValueChanged: (e) => {
                        // handle the value change here
                    }
                },
                // ...    
            },
        },
    })
});
Angular
app.component.html
app.component.ts
app.module.ts
<dx-data-grid ... >
    <dxo-column-chooser ... >
        <dxo-search
            [editorOptions]="searchEditorOptions"
            // ...
        ></dxo-search>
    </dxo-column-chooser>
</dx-data-grid>
import { Component } from '@angular/core'; 

@Component({ 
    selector: 'app-root', 
    templateUrl: './app.component.html', 
    styleUrls: ['./app.component.css'] 
}) 

export class AppComponent { 
    searchEditorOptions;
    constructor() {
        this.searchEditorOptions = { 
            placeholder: 'Search column', 
            mode: 'text',
            onValueChanged: (e) => {
                // handle the value change here
            } 
        };
        // ...
    } 
    // ...
}
import { BrowserModule } from '@angular/platform-browser'; 
import { NgModule } from '@angular/core'; 
import { AppComponent } from './app.component'; 
import { DxDataGridModule } from 'devextreme-angular'; 

@NgModule({ 
    declarations: [ 
        AppComponent 
    ], 
    imports: [ 
        BrowserModule, 
        DxDataGridModule 
    ], 
    providers: [ ], 
    bootstrap: [AppComponent] 
}) 

export class AppModule { }  
Vue
App.vue (Options API)
App.vue (Composition API)
<template>
    <DxDataGrid ... >
        <DxColumnChooser ... >
            <DxColumnChooserSearch
                :editor-options="searchEditorOptions"
                // ...
            />
        </DxColumnChooser>
    </DxDataGrid>
</template>

<script>
import 'devextreme/dist/css/dx.light.css';
import DxDataGrid, {
    DxColumnChooser, 
    DxColumnChooserSearch,
    // ... 
} from 'devextreme-vue/data-grid';

export default {
    components: {
        DxDataGrid
    },
    data() {
        return {
            searchEditorOptions: { 
                placeholder: 'Search column', 
                mode: 'text',
                onValueChanged: this.handleValueChange
            }
        };
    }
    methods: {
        handleValueChange(e) {
            // handle the value change here
        }
    }
}
</script>
<template>
    <DxDataGrid ... >
        <DxColumnChooser ... >
            <DxColumnChooserSearch
                :editor-options="searchEditorOptions"
                // ...
            />
        </DxColumnChooser>
    </DxDataGrid>
</template>

<script setup>
import 'devextreme/dist/css/dx.light.css';
import DxDataGrid, {
    DxColumnChooser, 
    DxColumnChooserSearch,
    // ... 
} from 'devextreme-vue/data-grid';

const searchEditorOptions = { 
    placeholder: 'Search column', 
    mode: 'text',
    onValueChanged: (e) => {
        // handle the value change here
    }
};

// ...
</script>
React
App.js
import React from 'react';  
import 'devextreme/dist/css/dx.light.css'; 

import DataGrid, {
    ColumnChooser, 
    ColumnChooserSearch, 
    // ...
} from 'devextreme-react/data-grid';

const searchEditorOptions = { 
    placeholder: 'Search column', 
    mode: 'text',
    onValueChanged: (e) => {
        // handle the value change here
    }
};

export default function App() { 
    return ( 
        <DataGrid ... > 
            <ColumnChooser ... >
                <ColumnChooserSearch
                    editorOptions={searchEditorOptions}
                    // ...
                />
            </ColumnChooser>
        </DataGrid>        
    ); 
} 

enabled

Specifies whether search is enabled in the column chooser.

Type:

Boolean

Default Value: false

timeout

Specifies a timeout, in milliseconds, during which a user may continue to modify the search value without starting the search operation.

Type:

Number

Default Value: 500