Back to Devexpress

DataControlBase.CurrentColumn Property

wpf-devexpress-dot-xpf-dot-grid-dot-datacontrolbase-c43080cf.md

latest5.3 KB
Original Source

DataControlBase.CurrentColumn Property

Gets or sets the focused column.

Namespace : DevExpress.Xpf.Grid

Assembly : DevExpress.Xpf.Grid.v25.2.Core.dll

NuGet Package : DevExpress.Wpf.Grid.Core

Declaration

csharp
[Browsable(false)]
public ColumnBase CurrentColumn { get; set; }
vb
<Browsable(False)>
Public Property CurrentColumn As ColumnBase

Property Value

TypeDescription
ColumnBase

A GridColumn object that represents the focused column.

|

Remarks

The CurrentColumn property returns null if the DataViewBase.NavigationStyle property isn’t set to GridViewNavigationStyle.Cell.

To learn more, see Focusing.

Example

This example shows how to identify a data cell with the specified value and focus it. To do this, click the Focus Cell button.

View Example: Focus a Cell with the Specified Value

xaml
<Grid>
    <Grid.RowDefinitions>
        <RowDefinition/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <dxg:GridControl Name="grid" AutoGenerateColumns="AddNew">
        <dxg:GridControl.View>
            <dxg:TableView x:Name="view" AutoWidth="True" FadeSelectionOnLostFocus="False"/>
        </dxg:GridControl.View>
    </dxg:GridControl>
    <StackPanel Grid.Row="1" Orientation="Horizontal">
        <TextBlock Text="Unit Price:" TextAlignment="Right" Padding="4"/>
        <TextBox x:Name="textBox" Width="50" Margin="0,0,5,0" HorizontalAlignment="Left"/>
        <Button Content="Focus Cell" HorizontalAlignment="Left" Click="FocusCell"/>
    </StackPanel>
</Grid>
cs
void FocusCell(object sender, RoutedEventArgs e) {
    if (!double.TryParse(textBox.Text, out double textValue))
        return;
    var rowHandle = grid.FindRowByValue(grid.Columns[nameof(Product.UnitPrice)], textValue);
    if (rowHandle == DataControlBase.InvalidRowHandle) 
        return;
    grid.CurrentColumn = grid.Columns[nameof(Product.UnitPrice)];
    view.FocusedRowHandle = rowHandle;
}
vb
Private Sub FocusCell(ByVal sender As Object, ByVal e As RoutedEventArgs)
    Dim textValue As Double = Nothing
    If Not Double.TryParse(Me.textBox.Text, textValue) Then Return
    Dim rowHandle = Me.grid.FindRowByValue(Me.grid.Columns(NameOf(Product.UnitPrice)), textValue)
    If rowHandle = DataControlBase.InvalidRowHandle Then Return
    Me.grid.CurrentColumn = Me.grid.Columns(NameOf(Product.UnitPrice))
    Me.view.FocusedRowHandle = rowHandle
End Sub

The following code snippet (auto-collected from DevExpress Examples) contains a reference to the CurrentColumn property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

how-to-create-search-window-with-find-previous-and-find-next-buttons-in-gridcontrol-t127527/CS/DevExpress.Example01/SearchBehavior/SearchWindow.xaml.cs#L223

csharp
this._Grid.View.FocusedRowHandle = this._FoundCells[this._CurrentCell].RowHandle;
    this._Grid.CurrentColumn = this._FoundCells[this._CurrentCell].Column;
}

how-to-create-search-window-with-find-previous-and-find-next-buttons-in-gridcontrol-t127527/VB/DevExpress.Example01/SearchBehavior/SearchWindow.xaml.vb#L217

vb
_Grid.View.FocusedRowHandle = _FoundCells(_CurrentCell).RowHandle
    _Grid.CurrentColumn = _FoundCells(_CurrentCell).Column
End Sub

See Also

Focus, Navigation, Selection

Focus and Navigation

DataControlBase Class

DataControlBase Members

DevExpress.Xpf.Grid Namespace