wpf - 如何隐藏 Telerik 的 GridView 中的行?

标签 wpf telerik radgridview

我有一个WPF GridView,部分数据需要显示在Totals中(包括Footer和Group totals),而不是实际的数据记录。

我认为编写一个触发器并根据行的数据隐藏该行会很容易,但事实证明 Telerik 的 GridView 使用了一个不寻常的虚拟化面板,所以尽管指定的行得到隐藏,在它应该去的地方留下一个空白的空白区域。

这是我目前的风格。它确实隐藏了行,但它相当于使可见性 Hidden 而不是 Collapsed (隐藏项目,但在原处留下空白)

<Style TargetType="{x:Type telerik:GridViewGroupRow}">
    <Setter Property="Visibility" Value="Visible" />
    <Style.Triggers>
        <DataTrigger Binding="{Binding Group.Key, RelativeSource={RelativeSource Self}}" Value="SomeValue">
            <Setter Property="Visibility" Value="Collapsed" />
        </DataTrigger>
    </Style.Triggers>
</Style>

我已经尝试将 ItemTemplate 设置为 null,从 Telerik 的 GridViewVirtualizingPanel 中删除项目,并调整可见性,但这些选项似乎都不起作用。

有谁知道我可以用什么方法来做到这一点?我要么想隐藏(并折叠)基于触发器的行,要么想办法获取当前分组表达式的查询,这样我就可以查询第二个集合并在组总计中显示结果。我对使用代码隐藏或一些骇人听闻的东西来完成这个没有问题。

编辑

作为一个有趣的旁注,我可以将高度设置为 1,但不能设置为 0。即使 1 也太多了,因为我可以隐藏数千条记录,这会在屏幕上留下一个巨大的白色区域。

最佳答案

我发布了 a question on Telerik's forums同样,显然这是不可能的。我的选择是过滤结果集,或将行的高度设置为 1。

如果我过滤结果集,我的聚合是不正确的。如果我将行高设置为 1,如果隐藏了很多记录(确实存在),我仍然会得到大面积的空白区域。

我的最终解决方案是将分组行的行高设置为 1,并且只显示未分组的项目。这意味着如果数据未分组,所有项目都会显示,但是当分组时,有一条 1px 的白线几乎不会穿过隐藏项目所在的网格。

关于wpf - 如何隐藏 Telerik 的 GridView 中的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082143/

相关文章:

c# - 如何根据 wpf (mvvm) 中的 bool 值切换边框样式

c# - 列表以间隔返回特定字段的值

wpf - 合并单元格在单元格上取消合并双击 RadGridview

wpf - MVVM/WPF 应用 RadGridView 绑定(bind)到 EntityFrameworkDataSource

c# - 在事件触发 WPF 之前禁用网格

c# - 如何在ListView WPF中将命令绑定(bind)到复选框?

c# - 如何将 UserControl.IsEnabled 绑定(bind)到它的命令

c# - 禁用 WPF 窗口的 Aero 玻璃/透明度?

winforms - 如何隐藏 Winforms RadScrollablePanel 的 RadControls 中的边框

javascript - Kendo ui kendoSortable 不起作用