gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 03:08:37 24 4
gpt4 key购买 nike

我有一个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/

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