Динамическая колонка

Обсуждение Stimulsoft Reports.NET
Ответить
DmitriD
Сообщения: 5
Зарегистрирован: 15 июл 2007, 17:16
Откуда: USA

Динамическая колонка

Сообщение DmitriD »

Добрый день!:feelgood:

Как быть, если в 1-м из запросов TableAdapter-a выбирается таблица и динамическая колонка Acts.
Смысла добавлять ее в DataTable нет(чтобы Report Designer ее видел), да только как ее отобразить в отчете?

Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Динамическая колонка

Сообщение Edward »

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

Пример работы с вычисляемыми колонками Вы можете найти здесь:

http://www.stimulsoft.com/livedemos/Rep ... ields.html

Спасибо.
DmitriD
Сообщения: 5
Зарегистрирован: 15 июл 2007, 17:16
Откуда: USA

Динамическая колонка

Сообщение DmitriD »

К сожалению не представляю как получить значение колонки X c помощью вычисляемой колонки в дизайнере.
select N.autoid1, N.Id_nacl,
(
select GROUP_CONCAT( R.Id_protocol) from
regl_act R WHERE R.Id_invoice_i = N.autoid1
GROUP By R.id_invoice_i
) as x

from nacladnai N
+---------+---------+---------------+
| autoid1 | Id_nacl | x |
+---------+---------+---------------+
| 11 | 1 | 209,280,175,1 |
| 12 | 2 | 3245 |
| 13 | 3 | 134,128,078 |
| 14 |4 | 174,134 |
| 15 | 5 | 096 |
| 16 | 6 | NULL |
| 17 | 7 | NULL |
| 18 | 8 | 222,431,12 |
| 19 | 9 | 61,093 |
+---------+---------+---------------+
9 rows in set
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Динамическая колонка

Сообщение Edward »

Вы также можете напрямую создать SQL запрос в дизайнере и получить все необходимые колонки сразу в дизайнере.
Пример создания запроса с подключением к базе данных Вы можете посмотреть здесь:

http://www.stimulsoft.com/livedemos/dat ... igner.html

Это, наверное, будет самый простой способ.

Спасибо.
Pavel
Сообщения: 67
Зарегистрирован: 10 май 2007, 11:24

Динамическая колонка

Сообщение Pavel »

Достичь желаемого можно выполнив следующие шаги:
1. В словаре определить переменную, например v.
2. Установить в дизайнере связь между "nacladnai" и "regl_act"(добавить Relation)
3. На бэнд(Data1) который отображает "nacladnai", положить контейнер, на контейнер Cross - Data бэнд(Cross_Data1), для которого установить Data Relation = nacladnai, Data Source = "regl_act" и Master Component = Data1, Width = 0 т.к. Cross_Data1 нужен только для того чтобы вытянуть значения из regl_act.
4. На Data1 положить текстбокс("Text1"), где написать: {v}.
5. Для "Text1" на событие AfterPrintEvent написать: v = "";
6. Для Cross_Data1 на событие RenderingEvent написать: v += regl_act.Id_protocol + ";";
В результате получится, что для каждой строки "nacladnai" будет выводится переменная "v", которая будет содержать все значения "regl_act", для данного значения Id_invoice_i, разделенные точкой с запятой.
Т.к. Cross_Data1 имеет нулевую ширину, то доступ к нему лучше осуществлять через Report Tree.


Спасибо.
Ответить