How to: Focus a Cell with the Specified Value

  • 2 minutes to read

This example shows how to identify a data cell with the specified value and focus it. To do this, click the 'Find Next' button. The search is performed starting from the currently focused row.

View Example

<Window x:Class="DXSample_FocusingCells.Window1" 
        Title="Focusing Cells" Height="300" Width="491">
            <RowDefinition Height="*" />
            <RowDefinition Height="32" />
        <dxg:GridControl Margin="5" Name="grid" AutoGenerateColumns="AddNew">
                <dxg:TableView x:Name="view" AutoWidth="True" ShowGroupPanel="False" AllowGrouping="False" NavigationStyle="Cell" />
        <Button Grid.Row="1" HorizontalAlignment="Left" Margin="2" Click="Button_Click">
            Find Next</Button>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using DevExpress.Xpf.Grid;

namespace DXSample_FocusingCells {
    public partial class Window1 : Window {
        public Window1() {
            grid.ItemsSource = new nwindDataSetTableAdapters.ProductsTableAdapter().GetData();

        private void Button_Click(object sender, RoutedEventArgs e) {
            if (grid.VisibleRowCount == 0) return;
            int rowHandle = view.FocusedRowHandle + 1;
            while (Convert.ToDouble(grid.GetCellValue(rowHandle, "UnitPrice")) != 10 && 
                grid.IsValidRowHandle(rowHandle)) {
            if (grid.IsValidRowHandle(rowHandle)) {
                grid.CurrentColumn = grid.Columns["UnitPrice"];
                view.FocusedRowHandle = rowHandle;