Chandra Bhushan
Chandra Bhushan

Reputation: 31

always show the scrollbar in a datagridview in windows application - c#

How to always show the vertical scrollbar in a datagrid irrespective of number of rows it contains ?

I am using Visual Studio 10 C# for window application.

Upvotes: 3

Views: 6652

Answers (2)

ATo
ATo

Reputation: 1

When DataGrid has no rows, example you filter off all rows, its horizontal scrollbar is disabled. Even if it's Visibility setting is set to Visible.

One solution is put DataGrid inside of additional ScrollViewer and show this outer ScrollViewer horizontal scrollbar when Datagrid's own horizontal scrollbar is disabled. Like this:

<ScrollViewer.Style>
    <Style TargetType="ScrollViewer">
        <Style.Triggers>
            <!-- Show this horizontal scrollbar when DataGrid:s own scrollbar is disappeared or disabled after filtering off all DataGrid rows -->
            <DataTrigger Binding="{Binding ElementName=MyDataGrid, Path=HasItems}" Value="False">
                <Setter Property="HorizontalScrollBarVisibility" Value="Visible"/>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</ScrollViewer.Style>

<DataGrid   x:Name="MyDataGrid"
            ...>
</DataGrid>

Upvotes: 0

miro99
miro99

Reputation: 79

Try setting ScrollViewer.VerticalScrollBarVisibility="True That property is set to Auto by default.

Upvotes: 1

Related Questions