C# 在WPF C中从DataGrid上的DataTable隐藏行#

C# 在WPF C中从DataGrid上的DataTable隐藏行#,c#,.net,wpf,datatable,datagrid,C#,.net,Wpf,Datatable,Datagrid,我试图从DataTable中隐藏特定的行,但我只能隐藏列 我找到了一些与DataGridView相关的解决方案,但它们不一样,对我来说不起作用 在我的xaml文件中,我有: <DataGrid Visibility="Visible" HorizontalAlignment="Stretch" Name="dataGrid_first" VerticalAlignment="Stretch" Width="Auto" Grid.Column="1" Grid.Row="2" >

我试图从DataTable中隐藏特定的行,但我只能隐藏列

我找到了一些与DataGridView相关的解决方案,但它们不一样,对我来说不起作用

在我的xaml文件中,我有:

<DataGrid Visibility="Visible" HorizontalAlignment="Stretch" Name="dataGrid_first" VerticalAlignment="Stretch" Width="Auto"  Grid.Column="1" Grid.Row="2" >

</DataGrid>
它正在工作。要隐藏列,我将执行以下操作:

dataGrid_first.Columns[i].Visibility = Visibility.Hidden;
其中“i”是正确的列号


我怎样才能隐藏一行

我也建议过滤,而且我不会使用太旧的DataTable。 您可以使用隐藏行

<DataGrid ItemsSource="{Binding DataView}">
                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <!-- your column name, visibility was not working if there is no converter -->
                        <Setter Property="Visibility" Value="{ Binding Path=IsVisible ,Converter={StaticResource BoolToVisibilityConverter}}"></Setter>
                    </Style>
                </DataGrid.RowStyle>
            </DataGrid>

如果不设置DataContext,则组件将成为上下文,因此可以在其中添加DataView属性(但如果可以,请使用ViewModels)

我也建议过滤,而且我不会使用太旧的DataTable。 您可以使用隐藏行

<DataGrid ItemsSource="{Binding DataView}">
                <DataGrid.RowStyle>
                    <Style TargetType="DataGridRow">
                        <!-- your column name, visibility was not working if there is no converter -->
                        <Setter Property="Visibility" Value="{ Binding Path=IsVisible ,Converter={StaticResource BoolToVisibilityConverter}}"></Setter>
                    </Style>
                </DataGrid.RowStyle>
            </DataGrid>

如果不设置DataContext,则组件将成为上下文,因此可以在其中添加DataView属性(但如果可以,请使用ViewModels)

隐藏特定行的条件是什么?一种简单的方法是使用DataView
Filter
Property。我有两个相似的datagrid,我试图展示两个数据库之间的差异。你能写一些简单的例子吗?为什么给网格数据,然后试图隐藏其中的一些。为什么不给它你想要它显示的数据呢。换句话说,首先过滤数据。我可以给出正确的数据。问题是我无法筛选正确的行。隐藏特定行的条件是什么?一种简单的方法是使用DataView
Filter
Property。我有两个相似的datagrid,我试图展示两个数据库之间的差异。你能写一些简单的例子吗?为什么给网格数据,然后试图隐藏其中的一些。为什么不给它你想要它显示的数据呢。换句话说,首先过滤数据。我可以给出正确的数据。问题是我无法筛选正确的行。
myDataTable.Rows[i]["IsVisible"] = false;