JavaScript/jQuery Gallery - Set the Initial Image

By default, the image that the Gallery UI component displays initially is the first item of the data source. To specify another item to be initially displayed, assign its index in the dataSource to the selectedIndex property.

jQuery
JavaScript
$(function () {
    $("#galleryContainer").dxGallery({
        dataSource: [
            "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png",
            "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png",
            "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png"
        ],
        height: 300,
        selectedIndex: 2
    });
});
Angular
HTML
TypeScript
<dx-gallery
    [dataSource]="galleryDataSource"
    [height]="300"
    [selectedIndex]="2">
</dx-gallery>
import { DxGalleryModule } from "devextreme-angular";
// ...
export class AppComponent {
    galleryDataSource = [
        "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png",
        "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png",
        "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png"
    ];
}
@NgModule({
    imports: [
        // ...
        DxGalleryModule
    ],
    // ...
})
Vue
Code
<template>
    <DxGallery
        :data-source="dataSource"
        :height="300"
        :selected-index="2"
    />
</template>

<script>
import 'devextreme/dist/css/dx.fluent.blue.light.css';

import { DxGallery } from 'devextreme-vue/gallery';

export default {
    components: {
        DxGallery
    },
    data() {
        return {
            dataSource: [
                'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png',
                'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png',
                'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png'
            ]
        };
    }
}
</script>
React
Code
import React from 'react';
import 'devextreme/dist/css/dx.fluent.blue.light.css';

import { Gallery } from 'devextreme-react/gallery';

const dataSource = [
    'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png',
    'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png',
    'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png'
];

export default function App() {
    return (
        <Gallery
            dataSource={dataSource}
            height={300}
            defaultSelectedIndex={2}
        />
    );
}

As an alternative, you can specify the initial image using its data source object. In this case, assign the object to the selectedItem property.

jQuery
JavaScript
const galleryData = [{
    imageAlt: "Maria",
    imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png"
}, {
    imageAlt: "John",
    imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png"
}, {
    imageAlt: "Xavier",
    imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png"
}];

$(function () {
    $("#galleryContainer").dxGallery({
        dataSource: galleryData,
        height: 300,
        selectedItem: galleryData[1]
    });
});
Angular
HTML
TypeScript
<dx-gallery
    [dataSource]="galleryDataSource"
    [height]="300"
    [selectedItem]="selectedItem">
</dx-gallery>
import { DxGalleryModule } from "devextreme-angular";
// ...
export class AppComponent {
    galleryDataSource = [{
        imageAlt: "Maria",
        imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png"
    }, {
        imageAlt: "John",
        imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png"
    }, {
        imageAlt: "Xavier",
        imageSrc: "https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png"
    }];
    selectedItem = this.galleryDataSource[1];
}
@NgModule({
    imports: [
        // ...
        DxGalleryModule
    ],
    // ...
})
Vue
Code
<template>
    <DxGallery
        :data-source="galleryData"
        :height="300"
        :selected-item="selectedItem"
    />
</template>

<script>
import 'devextreme/dist/css/dx.fluent.blue.light.css';

import { DxGallery } from 'devextreme-vue/gallery';

export default {
    components: {
        DxGallery
    },
    data() {
        return {
            galleryData: [{
                imageAlt: 'Maria',
                imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png'
            }, {
                imageAlt: 'John',
                imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png'
            }, {
                imageAlt: 'Xavier',
                imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png'
            }],
            selectedItem: galleryData[1]
        };
    }
}
</script>
React
Code
import React from 'react';
import 'devextreme/dist/css/dx.fluent.blue.light.css';

import { Gallery } from 'devextreme-react/gallery';

const galleryData = [{
    imageAlt: 'Maria',
    imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person1.png'
}, {
    imageAlt: 'John',
    imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person2.png'
}, {
    imageAlt: 'Xavier',
    imageSrc: 'https://js.devexpress.com/Content/images/doc/26_1/PhoneJS/person3.png'
}];

const selectedItem = galleryData[1];

export default function App() {
    return (
        <Gallery
            dataSource={galleryData}
            height={300}
            defaultSelectedItem={selectedItem}
        />
    );
}
See Also