Как создать несвязанный подраздел в другом несвязанном отчете

StackOverflow https://stackoverflow.com/questions/1489892

Вопрос

У меня есть несвязанный Xtrareport, который имеет контроль подрепорта, который содержит другой отчет. Я называю «несвязанным» от отчета, в котором есть определение полей, использующих схему, но на самом деле не связанный с каким -либо набором данных, я создаю DataTable с использованием уровня доступа к данным, а затем передаю этот объект в свойство DataSource отчета.

Итак, у меня есть следующий код:

        // (...) Get the data from the db and fill a DataTable

        if (table.Rows.Count > 0)
        {
            report.DataSource = table;

            // (...) Get the data from the db and fill a DataTable for the subreport
            report.SubPurchaseOrder.Report.DataSource = tableSubReport;

            report.ShowPreviewDialog();
        }
        else
        {
            MessageBox.Show("No data to show.");
        }

Но то, что я использую этот подход, очень странно напечатано (посмотрите на прикрепленный PDF, Извините, это на испанском, но я думаю, что вы поняли идею).

Я прочитал документацию DeVexPress, и, возможно, я неправильно понял подход, поэтому мой вопрос в том, как создать отчет, в котором есть один или несколько субрепортов, но я должен предоставить данные, чтобы заполнить их, используя какой -то внешний процесс, внешний Отчеты, такие как уровень доступа к данным?

Пожалуйста, дайте мне знать, если вопрос не указан правильно или не имеет больше информации.

РЕДАКТИРОВАТЬ:

Я загрузил образец проекта с отчетом с проблемой здесь.

Я пытался использовать параметры какого -то рода. В рамках контрольного управления до того, как я попробовал:

((XRSubreport)sender).ReportSource.FilterString = "[IdPO_RO] = " + _idPurchaseOrder;

а также

((XRSubreport)sender).ReportSource.Parameters["Id"].Value = _idPurchaseOrder;

Конечно, для второго я добавил параметр и строку фильтра так же, как первый, но с использованием параметра.

Это было полезно?

Решение

Я мог бы решить проблему.

Причиной для этого было то, что я назначал неправильный объект. Эта строка:

report.SubPurchaseOrder.Report.DataSource = tableSubReport;

должно быть:

report.SubPurchaseOrder.ReportSource.DataSource = tableSubReport;

Таким образом, краткое объяснение состоит в том, что я использовал другое свойство для обозначения отчета, содержащегося в контроле подрепорта (XRSubReport).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top