Kuks |
Отправлено: 12.09.2005, 14:47 |
|
Не зарегистрирован
|
Каким образом в QR при генерации отчета выводить только одну выбранную (например в гриде) запись?
Заранее спасибо |
|
olegenty |
Отправлено: 12.09.2005, 15:45 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
таким же, как выводятся несколько записей.
|
|
AVC |
Отправлено: 12.09.2005, 15:54 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Имелся ввиду QuickReport ?
Поставить фильтр
или
использовать запрос, выбрающий только нужную запись
или
пробежаться по Report'у и, например, поменять caption у label'ов, одноименных с полями записи
|
|
Kuks |
Отправлено: 13.09.2005, 07:37 |
|
Не зарегистрирован
|
Немного тупо задал вопрос. Имеется рекордсет, полученный с сиквелсервера, состоящий из нескольких записей. В QuickReporte генерируется отчет в полосах (Bands). А как заставить печетаться только одну, активную (в гриде) запись? Заранее благодарю. |
|
AVC |
Отправлено: 13.09.2005, 08:13 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
QUOTE |
Поставить фильтр на эту запись
или
пробежаться по Report'у и, например, поменять caption у label'ов, одноименных с полями записи
|
|
|
Kuks |
Отправлено: 13.09.2005, 10:43 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
Я наверное тупой насмерть, но я не понял какой фильтр и куда ставить
если я фильтрацию вообще не использую?
|
|
avc* |
Отправлено: 13.09.2005, 10:59 |
|
Не зарегистрирован
|
QUOTE |
но я не понял какой фильтр и куда ставить
|
Допустим у вас в выборке есть поле, удовлетворяющее характеристикам первичного ключа.
Тогда перед печатью
TDataSet *ds= DataSet...
ds->DisableControls()
if (ds->Filtered) ds->Filtered = false;
ds->Filter = "Название_поля_PK = " + ds->FieldByName("Название_поля_PK")->AsString;
// для текстового поля могут потребоваться '
ds->Filtered = true;
try { Печатаем }
__finally { ds->Filtered = false; ds->EnableControls(); }
Идея состоит в том, что бы в ds была ровно одна запись.
PS. Но лично я использовал (когда работал QRep) второй вариант (обход отчета и замена Caption у одноименных Label'ов) — попутно решается проблема парамтров, заголовков, подписей и т.д. |
|
avc* |
Отправлено: 13.09.2005, 11:05 |
|
Не зарегистрирован
|
Еще один вариант -
QuickReport->DataSet = NULL;
Band, например, Title
QRDBText показывает поля текущей записи.
|
|
Kuks |
Отправлено: 13.09.2005, 11:13 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
сенькю вери,вери мач!!!!!!!!!!!!!!!!!
|
|
Kuks |
Отправлено: 13.09.2005, 13:56 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 108
|
avc*!!!!
Огромное спасибо за код!!!!
Проверил, все работает.
|
|
Guest |
Отправлено: 13.09.2005, 15:22 |
|
Не зарегистрирован
|
На здоровье. Заходите еще. |
|