如何在WPF中隐藏Crystal Report的组树?

Moh*_*and 7 wpf crystal-reports

我正在使用VS2010和Crystal报告13.

有没有办法折叠/隐藏出现在我生成的报告左侧的组树框?我看到了一些建议的解决方案,但似乎没有一个适合我.

提前致谢.

Meh*_*ili 9

报表查看器上还有一个属性,您可以按如下方式设置:

yourViewer.ToggleSidePanel = Constants.Sid​​ePanelKind.None;

我认为如果Crystal Reports团队决定重命名该按钮,这会更安全一些.


Moh*_*and 6

我终于找到了一个有效的解决方案,通过手动查找侧面板然后隐藏它:

var sidepanel = crystalReportsViewer1.FindName("btnToggleSidePanel") as ToggleButton;
if (sidepanel != null) {
    crystalReportsViewer1.ViewChange += (x, y) => sidepanel.IsChecked = false;
}
Run Code Online (Sandbox Code Playgroud)

添加此命名空间:

using System.Windows.Controls.Primitives;
Run Code Online (Sandbox Code Playgroud)

问题是WPF ReportViewer与Win Forms略有不同,一些属性(如ToolPanelView和ShowGroupTreeButton)已被删除,我尝试了很多不同的东西,但上面是唯一可以解决问题的方法.


Jus*_*tin 5

您可以通过将"ToolPanelView"更改为"None"来更改设计器,并通过将"ShowGroupTreeButton"更改为"false"来隐藏按钮.以前的版本有一个显式隐藏组树的方法,但我相信它在您使用的版本中已被弃用.要更改后面代码中的属性:

crystalreportviewer.ToolPanelView = TooPanelViewType.None;
crystalreportviewer.ShowGroupTreeButton = false;
Run Code Online (Sandbox Code Playgroud)