- 
                            Data Grids / Data Management- 
                Data Grid- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Grouping
- 
                Selection
- Focused Row
- Paging
- 
                Scrolling
- 
                Columns
- 
                Master-Detail
- 
                Data Summaries
- 
                Drag & Drop
- 
                Export to PDF
- 
                Export to Excel
- Appearance
- 
                Customization
- State Persistence
- 
                Adaptability
- 
                Keyboard Navigation
- Right-To-Left Support
 
- 
                Tree List- Overview
- 
                Data Binding
- 
                Filtering
- Sorting
- 
                Editing
- 
                Selection
- Focused Row
- Paging
- 
                Columns
- Drag & Drop
- State Persistence
- Adaptability
- 
                Keyboard Navigation
 
- 
                Card View
- 
                Pivot Grid- Overview
- 
                Data Binding
- 
                Field Management
- 
                Data Summaries
- Drill Down
- Filtering
- 
                Scrolling
- 
                Export to Excel
- Chart Integration
- Customization
- State Persistence
 
- 
                Filter Builder
 
- 
                
- 
                            Data Visualization- 
                Charts- Overview
- 
                Data Binding
- 
                Common Concepts- 
                Axis
- 
                Aggregation
- 
                Tooltips
- 
                Selection
- 
                Customization
- 
                Zooming
- 
                Export
 
- 
                
- 
                Area Charts
- 
                Bar Charts
- Bullet Charts
- 
                Doughnut Charts
- 
                Financial Charts
- 
                Funnel and Pyramid Charts
- 
                Line Charts
- Pareto Chart
- 
                Pie Charts
- 
                Point Charts
- 
                Polar and Radar Charts
- 
                Range Charts
- Sankey Chart
- 
                Sparkline Charts
- 
                Tree Map
 
- 
                Gauges- Overview
- 
                Runtime update
- 
                Bar Gauge
- 
                Circular Gauge
- 
                Linear Gauge
 
- 
                Diagram- Overview
- 
                Data Binding
- 
                Featured Shapes
- 
                Custom Shapes
- 
                Document Capabilities
- 
                User Interaction
- UI Customization
- Adaptability
 
 
- 
                
- 
                            Scheduling / Planning- 
                Scheduler- Overview
- 
                Data Binding
- 
                Views
- 
                Appointments
- 
                Timetable
- Editing
- 
                Grouping
- Virtual Scrolling
- Drag & Drop
- 
                Customization
- Adaptability
 
- 
                Gantt- Overview
- Data Binding
- 
                Filtering
- Sorting
- Strip Lines
- Export to PDF
- Validation
- 
                Customization
 
 
- 
                
- 
                            Reporting- 
                AI-powered Extensions
- 
                Interaction
- 
                Report Types
- 
                Data binding
- 
                Real-life Reports
- 
                Layout Features
- 
                Report Controls
- 
                Web-specific Features
 
- 
                
- 
                            Rich Text Editor- Overview
- Load/Save
- Document Protection
- 
                Templates
- Autocorrect
- 
                Customization
- Simple View
 
- 
                            Spreadsheet- Overview
- 
                Open a Document
- Export And Printing
- 
                Features
- 
                UI Customization
 
- 
                            Messaging
- 
                            WYSIWYG Editor
- 
                            Forms
- 
                            Data Editors- Overview
- 
                Common Concepts
- 
                Calendar
- Check Box
- Color Box
- Date Box
- 
                Date Range Box
- 
                Number Box
- Radio Group
- 
                Range Selector
- Range Slider
- Slider
- Speech To Text
- Switch
- Text Area
- Text Box
 
- 
                            Drop-Downs- Autocomplete
- 
                Drop Down Box
- 
                Select Box
- 
                Tag Box
- 
                Lookup
 
- 
                            Buttons
- 
                            File Upload / File Management- 
                File Manager- Overview
- 
                File System Types
- 
                Customization
 
- 
                File Uploader
 
- 
                
- 
                            Popup and Notifications
- 
                            Navigation- Overview
- Accordion
- 
                Context Menu
- 
                Menu
- Multi View
- 
                Drawer
- 
                Tab Panel
- 
                Tabs
- 
                Toolbar
- 
                Stepper
- Pagination
- 
                List
- 
                Tree View
- Right-to-Left Support
 
- 
                            Layout- 
                Tile View
- Splitter
- 
                Gallery
- Scroll View
 
- 
                
- 
                            Interactive Wrappers- 
                Sortable
- Resizable
 
- 
                
- 
                            Progress Indicators
- 
                            Maps- Overview
- 
                Map
- 
                Vector Map- 
                Data Binding
- Multiple Layers
- 
                Markers
- Legend
- 
                Zooming and Panning
- 
                Customization
 
- 
                
 
- 
                            Localization
Related Demos:
        
            Your search did not match any results.
        
    Data Grid - Focused Row
The DataGrid component can highlight the focused row. To enable this feature, set the focusedRowEnabled property to true.
To focus a row programmatically, specify the focusedRowKey property. The DataGrid automatically scrolls to the focused row if the autoNavigateToFocusedRow property is enabled. In the UI, users can click a row to focus it. The focused row is saved in the DataGrid's state.
You can use the onFocusedRowChanging or onFocusedRowChanged property to specify a custom function that is executed before or after a row is focused.
            
            Backend API
        
    @(Html.DevExtreme().DataGrid()
    .DataSource(d => d.OData()
        .Version(2)
        .Url("https://js.devexpress.com/Demos/DevAV/odata/Tasks")
        .Key("Task_ID")
        .Expand("ResponsibleEmployee")
    )
    .DataSourceOptions(d => d.Select(new[] {
            "Task_ID",
            "Task_Subject",
            "Task_Start_Date",
            "Task_Status",
            "Task_Description",
            "Task_Completion",
            "ResponsibleEmployee/Employee_Full_Name"
        })
    )
    .Columns(columns => {
        columns.Add()
            .DataField("Task_ID")
            .Width(80);
        columns.Add()
            .DataField("Task_Start_Date")
            .Caption("Start Date")
            .DataType(GridColumnDataType.Date);
        columns.Add()
            .DataField("ResponsibleEmployee.Employee_Full_Name")
            .Caption("Assigned To")
            .AllowSorting(false);
        columns.Add()
            .DataField("Task_Subject")
            .Caption("Subject")
            .Width(350);
        columns.Add()
            .DataField("Task_Status")
            .Caption("Status");
    })
    .FocusedRowEnabled(true)
    .FocusedRowKey(117)
    .ShowBorders(true)
    .Paging(p => p.PageSize(10))
    .Pager(p => p.Visible(true))
    .OnInitialized("onDataGridInitialized")
    .OnFocusedRowChanging("onFocusedRowChanging")
    .OnFocusedRowChanged("onFocusedRowChanged")
)
<div class="task-info">
    <div class="info">
        <div id="taskSubject"></div>
        <p id="taskDetails"></p>
    </div>
    <div class="progress">
        <span id="taskStatus"></span>
        <span id="taskProgress"></span>
    </div>
</div>
<div class="options">
    <div class="caption">Options</div>
    <div class="options-container">
        <div class="option">
            <span>Focused Row Key</span>
            @(Html.DevExtreme().NumberBox()
                .Min(1)
                .Max(183)
                .Step(0)
                .InputAttr("aria-label", "Focused Row Key")
                .OnInitialized("onTaskIdEditorInitialized")
                .OnValueChanged("onTaskIdEditorValueChanged")
            )
        </div>
        <div class="option">
            @(Html.DevExtreme().CheckBox()
                .Text("Auto Navigate To Focused Row")
                .Value(true)
                .OnValueChanged("autoNavigateToFocusedRowChanged")
            )
        </div>
    </div>
</div>
<script>
    var dataGrid,
        taskIdEditor;
    function onTaskIdEditorInitialized(e) {
        taskIdEditor = e.component;
    }
    function onTaskIdEditorValueChanged(e) {
        if (e.event && e.value > 0) {
            dataGrid.option("focusedRowKey", e.value);
        }
    }
    function autoNavigateToFocusedRowChanged(e) {
        dataGrid.option("autoNavigateToFocusedRow", e.value);
    }
    function onDataGridInitialized(e) {
        dataGrid = e.component;
    }
    function onFocusedRowChanging(e) {
        var rowsCount = e.component.getVisibleRows().length,
            pageCount = e.component.pageCount(),
            pageIndex = e.component.pageIndex(),
            key = e.event && e.event.key;
        if(key && e.prevRowIndex === e.newRowIndex) {
            if(e.newRowIndex === rowsCount - 1 && pageIndex < pageCount - 1) {
                e.component.pageIndex(pageIndex + 1).done(function() {
                    e.component.option("focusedRowIndex", 0);
                });
            } else if(e.newRowIndex === 0 && pageIndex > 0) {
                e.component.pageIndex(pageIndex - 1).done(function() {
                    e.component.option("focusedRowIndex", rowsCount - 1);
                });
            }
        }
    }
    function onFocusedRowChanged(e) {
        const rowData = e.row && e.row.data;
        $("#taskSubject").html(rowData && rowData.Task_Subject);
        $("#taskDetails").html(rowData && rowData.Task_Description);
        $("#taskStatus").html(rowData && rowData.Task_Status);
        var progress = rowData && rowData.Task_Completion ? rowData.Task_Completion + "%" : "";
        $("#taskProgress").text(progress);
        taskIdEditor.option("value", e.component.option("focusedRowKey"));
    }
</script>
        
        using DevExtreme.NETCore.Demos.Models;
using DevExtreme.NETCore.Demos.Models.DataGrid;
using DevExtreme.NETCore.Demos.Models.SampleData;
using Microsoft.AspNetCore.Mvc;
using System.Linq;
namespace DevExtreme.NETCore.Demos.Controllers {
    public class DataGridController : Controller {
        public ActionResult FocusedRow() {
            return View();
        }
    }
}
        
        .task-info {
    font-family: Segoe UI;
    min-height: 200px;
    display: flex;
    flex-wrap: nowrap;
    border: 2px solid rgba(0, 0, 0, 0.1);
    padding: 16px;
    box-sizing: border-box;
    align-items: baseline;
    justify-content: space-between;
}
#taskSubject {
    line-height: 29px;
    font-size: 18px;
    font-weight: bold;
}
#taskDetails {
    line-height: 22px;
    font-size: 14px;
    margin-top: 0;
    margin-bottom: 0;
}
.progress {
    display: flex;
    flex-direction: column;
    white-space: pre;
    min-width: 105px;
}
.info {
    margin-right: 40px;
}
#taskProgress {
    line-height: 42px;
    font-size: 40px;
    font-weight: bold;
}
.options {
    margin-top: 20px;
    padding: 20px;
    background-color: rgba(191, 191, 191, 0.15);
    position: relative;
}
.caption {
    font-size: 18px;
    font-weight: 500;
}
.option {
    margin-top: 10px;
    margin-right: 40px;
    display: inline-block;
}
.option:last-child {
    margin-right: 0;
}
.option > .dx-numberbox {
    width: 200px;
    display: inline-block;
    vertical-align: middle;
}
.option > span {
    margin-right: 10px;
}
.options-container {
    display: flex;
    align-items: center;
}
        
                In this demo, the row with the 117 key is focused initially. You can specify the focusedRowKey and autoNavigateToFocusedRow properties via the input field and the checkbox below the DataGrid.