Получить конкретную ячейку в Crystal Report - PullRequest
2 голосов
/ 01 октября 2011

У меня есть Crystal Report, связанный с таблицей Customer в базе данных SQL Server. Мой генератор отчетов выполнит SELECT SQL и передаст таблицу результатов в отчет в качестве источника данных.

В отчете у меня есть поле, и я хочу, чтобы в этом поле отображались данные ячейки с указанным индексом строки и индексом столбца таблицы (возможно, я знаю имя столбца). Например, мое поле должно отображать ячейку в строке 3, столбце 2 источника данных.

Как я могу сделать это с помощью Crystal Report. Последняя версия сейчас 2011.

1 Ответ

1 голос
/ 01 октября 2011

Прежде всего, чтобы номер строки имел какое-либо значение, вам нужно запросить таблицу с помощью предложения ORDER BY (путем сортировки отчета).Без этого вы не сможете делать какие-либо предположения об «исходном порядке записей» в БД, поскольку их на самом деле нет.

Есть несколько способов получить это поле в зависимости от того, где в отчете вы хотитепоказать это.Если вы просто хотите показать это в разделе подробностей, вы можете использовать простую формулу, подобную этой:

if rownumber = 3 then {table.column}

Если вы хотите отобразить ее в нижнем колонтитуле, вы можете использоватьвместо переменной:

whileprintingrecords;
numbervar thedatavariable;
if recordnumber = 3 then thedatavariable := {table.column}

Добавьте эту формулу в раздел подробностей отчета, и вы сможете использовать переменную данных в нижних колонтитулах.

Теперь для столбца: Если индекс столбцаНЕ является динамическим, вы можете просто увидеть, какой столбец соответствует ... например, если столбцы таблицы - customer_id, customer_name, тогда столбец 2 всегда будет просто именем клиента.Если номер индекса изменится, как через параметр, вы можете создать формулу, подобную этой

select {?colIndexParameter}
 case 1 : {table.customer_id}
 case 2 : {table.customer_name} ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...