Как скрыть дерево групп отчета Crystal в WPF?

Я использую VS2010 и Crystal reports 13.

есть ли способ свернуть / скрыть окно дерева Групп, которое появляется в левой части моего сгенерированного отчета? Я видел несколько предлагаемых решений, но ни одно из них не работает для меня.

спасибо заранее.

8 ответов


в средстве просмотра отчетов также есть свойство, которое можно задать следующим образом:

yourViewer.ToggleSidePanel = Константы.Сайдпанелкинд.Нет;

Я думаю, что это немного безопаснее, если команда Crystal Reports решит переименовать эту кнопку.


Я, наконец, нашел решение, которое работает, вручную найдя боковую панель, а затем скрыв ее:

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

добавление этого пространства имен:

using System.Windows.Controls.Primitives;

проблема заключалась в том, что WPF ReportViewer немного отличается от Win Forms one, некоторые свойства (такие как ToolPanelView и ShowGroupTreeButton) были удалены, я пробовал много разных вещей, но выше было только то, что сделало трюк.


вы можете изменить его из конструктора, изменив "ToolPanelView" на "None" и скрыть кнопку, изменив "ShowGroupTreeButton" на "false". В предыдущих версиях был метод явного скрытия дерева групп, но я считаю, что он устарел в используемой версии. Чтобы изменить свойства в коде:

crystalreportviewer.ToolPanelView = TooPanelViewType.None;
crystalreportviewer.ShowGroupTreeButton = false;

существует свойство DisplayGroupTree . и вы можете избежать свободного места, используя этот код

CrystalReportViewer1.DisplayGroupTree = false;

CrystalReportViewer1.HasToggleGroupTreeButton = false;


используйте команду, чтобы скрыть панель.

CrystalReportViewer1.ToolPanelView = CrystalDecisions.Windows.Forms.ToolPanelViewType.None

я столкнулся с той же проблемой, что и Crystal Report изменяет конвенцию. В более старой версии Crystal report будет скрывать кнопку и не показывать панель с левой стороны. CrystalReportViewer1.ShowGroupTreeButton = False


<Viewer:CrystalReportsViewer  ToggleSidePanel="None"/>

используйте следующие свойства на своей веб-странице:

- ToolPanelView="None"
- HasToggleGroupTreeButton="false"

<CR:CrystalReportViewer ID="CRViewer" runat="server" HasCrystalLogo="False" ToolPanelView="None" HasToggleGroupTreeButton="false" BestFitPage="True" AutoDataBind="true"  />

панель дерева группы и ее переключатель будут скрыты. Это хорошо работает в моем окружении - ASP.Net 4.0, Crystal Report версия 13.0.13


для asp.net

    CrystalReportViewer1.ToolPanelView=CrystalDecisions.Web.ToolPanelViewType.None;