gpt4 book ai didi

c# - WPF根据条件隐藏数据网格中的行

转载 作者:可可西里 更新时间:2023-11-01 03:05:38 26 4
gpt4 key购买 nike

我需要根据数据网格中的参数和值隐藏数据网格中的行。我想做这样的事情;

foreach (System.Data.DataRowView dr in myDataGrid.ItemsSource)
{
//Logic to determine if Row should be hidden
if (hideRow == "Yes")
{
//Hide row code
}
}

我只是不知道如何实际隐藏该行。请注意,我不想从数据网格或项目源中删除行。

最佳答案

如果 hideRow 不是表的字段(即不是 DataGridRow 中的列):

<DataGrid.RowStyle>
<Style TargetType="{x:Type DataGridRow}">
<Style.Triggers>
<DataTrigger Binding="{Binding AnyProp, Converter={StaticResource hiddenConverter}}" Value="True">
<Setter Property="Visibility" Value="Collapsed"/>
</DataTrigger>
</Style.Triggers>
</Style>
</DataGrid.RowStyle>

并用您的逻辑实现 Converter。绑定(bind)变量的类型,上面的 AnyProp,将是下面的 yourPropertyType。 AnyProp 可以是行中的任何列。

[ValueConversion(typeof(yourPropType), typeof(bool))]
public class hiddenConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (hideRow == "Yes")
{
return true;
}
else
{
return false;
}
}


}

'value' 将是 AnyProp,它可以用于确定是否显示该行的逻辑,或者该决定可以完全基于其他内容,例如示例中的 'hideRow'。

关于c# - WPF根据条件隐藏数据网格中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19320528/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com