Добавить новые поля с помощью кода C # в Crystal Report (RPT) - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть отчет Crystal Report rpt, созданный с некоторыми фиксированными полями, которые заполняются таблицей данных, поля, полученные в таблице данных, могут различаться в зависимости от оператора SQL полей в форме. Поэтому вопрос заключается в том, могу ли я при разработке формы rpt добавлять по коду новые поля, полученные в datatable. Например, в таблице данных я получаю поля «Имя» и «Фамилия» и показываю их в отчете (в схему я вставил поля «Имя» и «Фамилия»). Теперь в массиве данных «Я получаю имя, фамилию и телефон», если я позвоню в один и тот же отчет, он заполнит только имя и фамилию, поле «Телефон», которое не будет вставлено в отчет, не появится, идея состоит в том, чтобы добавить его. Я заполняю набор данных таким образом:

DataSet ds = new dsDataSet();
ds.Tables.Add(new DataTable());
    foreach (DataColumn column in dtBusqueda.Columns)
    {
        ds.Tables[0].Columns.Add(column.ColumnName);
    }

Теперь это будут те поля набора данных, которые нужно вставить в отчет, как я объяснял ранее. Отчет загружается следующим образом:

ReportDocument Report = new ReportDocument();
Report.Load("../../crReporte.rpt");
Report.SetDataSource(dtDataTable);
frmReportes form = new frmReportes(Report);
form.Show();

Спасибо.

1 Ответ

0 голосов
/ 06 ноября 2019

Crystal работают только с предварительно определенным объектом данных для отображения данных в указанном формате. Поэтому, если вы передадите другой объект данных, он выдаст вам ошибки, из-за которых он не сможет найти ваш столбец.

Я могу предложить:

1) Использовать один и тот же источник dataTable для всех (поместите столбец воригинал). Так что установите видимость на Crystal Report для вашей специальной колонки. с помощью supress.

2) Вы можете создать отдельный 2 разных отчета. И в вашем случае If вы можете загрузить другой шаблон отчета, если хотите.

, если это только номер телефона, а не для сложных требований. Используйте способ 1. Просто установите видимость. Но если у вас есть сложные требования. Я думаю, что вы должны использовать 2 разных шаблона отчета.

...