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



我正在尝试将特定的行隐藏在数据表中,但我只能隐藏列。

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

在我的XAML文件中,我有:

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

要显示有关它的数据,我正在做以下操作:

dataGrid_first.ItemsSource = myDataTable.AsDataView();

它正在工作。要隐藏列,我正在做这样的事情:

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>

在您的ViewModel中

myDataTable.Rows[i]["IsVisible"] = false;

如果您不设置DataContext,则您的组件将是上下文,因此您可以在此处添加Dataview属性(但如果可以的话,请使用ViewModels)。BoolTovisibilityConverter

相关内容

  • 没有找到相关文章

最新更新