Не могу установить источник CrReportViewer - PullRequest
0 голосов
/ 12 мая 2011

Я пытаюсь отобразить отчет о кристалле в окне WPF. Приведенный ниже код отлично работает для экспорта и печати отчета. это только последняя часть, которую я не могу заставить работать. Я перепробовал все 3 строки внизу. crReportViewer.DataContext и crReportViewer.Content, похоже, ничего не делают, а crReportViewer.ReportSource выдает ошибку

«SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer» не содержит определения для «ReportSource», и не найден метод расширения «ReportSource», принимающий первый аргумент типа «SAPBusinessObjects.WPF.Viewer.CrystalReportsViewer» (вы пропустили директива об использовании или ссылка на сборку?)

            rptRebateReport cryRpt = new rptRebateReport();
            cryRpt.Load();//error thrown here
            cryRpt.Refresh();
            cryRpt.SetDatabaseLogon("user", "password", "server", "database");
            cryRpt.SetParameterValue("@SupplierNo", custNumberParam);
            cryRpt.SetParameterValue("@DateFrom", startDateParam);
            cryRpt.SetParameterValue("@DateTo", endDateParam);

            crReportViewer.DataContext = cryRpt;
            crReportViewer.ReportSource = cryRpt;
            crReportViewer.Content = cryRpt;

Любая помощь по этой ошибке будет оценена.

Спасибо

1 Ответ

0 голосов
/ 13 мая 2011

Очевидно, что CrystalReportViewer для WPF имеет свойство «Содержимое». Это свойство Content в буквальном смысле является StackPanel с 3 дочерними элементами, третьим является новый элемент «ViewerCore», который заполняет все пространство, доступное на DockPanel.

Свойство ReportSource находится в этом ViewerCore, поэтому для доступа к этому свойству ViewerCore (ReadOnly) необходимо сделать следующее:

ViewerCore view = crReportViewer.ViewerCore;
view.ReportSource = cryRpt;

Теперь работает отлично.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...