Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Здравствуйте!
У меня есть отчет, количество столбцов в котором заранее не известно. Я хочу сделать так, что бы отчет самостоятельно генерировал всю таблицу - основные столбцы статично записываются, а оставшиеся записываются столько раз, сколько их есть на конкретную страницу. Но я не знаю как это сделать, подскажите пожалуйста..
Я пытался сделать через cross-tab, но дело в том что мне нужно генерировать 2мерную таблицу (cross-tab в DataBend),а названия столбцов заранее неизвестны.
P.S. можно ли передавать в выражение ячейки (до вычисления значения выражения ячейки) строку с именем колонки к которой выражению нужно обратиться? Например в выражении ячейки я передаю массив строчек Columns в котором находится значение Column1 - {Source.Columns}. Другими словами - можно ли прямо во время рендеринга отчета записывать в ячейки выражения?
Спасибо!
У меня есть отчет, количество столбцов в котором заранее не известно. Я хочу сделать так, что бы отчет самостоятельно генерировал всю таблицу - основные столбцы статично записываются, а оставшиеся записываются столько раз, сколько их есть на конкретную страницу. Но я не знаю как это сделать, подскажите пожалуйста..
Я пытался сделать через cross-tab, но дело в том что мне нужно генерировать 2мерную таблицу (cross-tab в DataBend),а названия столбцов заранее неизвестны.
P.S. можно ли передавать в выражение ячейки (до вычисления значения выражения ячейки) строку с именем колонки к которой выражению нужно обратиться? Например в выражении ячейки я передаю массив строчек Columns в котором находится значение Column1 - {Source.Columns}. Другими словами - можно ли прямо во время рендеринга отчета записывать в ячейки выражения?
Спасибо!
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Здравствуйте,
Стандартного решения нет. Вы можете генерировать данный отчет из кода
https://www.stimulsoft.com/en/samples/w ... in-runtime
Спасибо.
Стандартного решения нет. Вы можете генерировать данный отчет из кода
https://www.stimulsoft.com/en/samples/w ... in-runtime
Спасибо.
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Скажите, но есть все таки возможность прямо во время построения отчета передавать в выражения ячеек какие то значения?Aleksey писал(а): ↑30 июл 2021, 11:43 Здравствуйте,
Стандартного решения нет. Вы можете генерировать данный отчет из кода
https://www.stimulsoft.com/en/samples/w ... in-runtime
Спасибо.
Может это можно делать с помощью нескольких проходов?
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Здравствуйте,
К сожалению, нет. В самом отчете неполучится это сделать.
К сожалению, нет. В самом отчете неполучится это сделать.
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Здравствуйте,
Всегда рады помочь.
Всегда рады помочь.
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Ну у меня получилось кое-что)
Я поставил в cross-data такое выражение - {IIF(Variable1 == null, Variable2, Variable1)}, где Variable1 это переменная которая будет служить для вывода какого-то значения и на первом проходе Variable1 = null, а Variable2 - это string[], в котором содержатся названия столбцов, которые будут выводиться.
Тогда получается что на первом проходе создаются пустые ячейки, а потом я задаю значение для Variable1 и он выводит уже ее значения. Я поставил обновление значения Variable1 при начале построения в Cross-Data.
Но я столкнулся с новой проблемой, значения для Variable1 задаются для cross-data 1 раз, и он выводит одно и тоже значение столько раз, сколько было создано ячеек на первом проходе. Хотя значения по вертикали разные ( по горизонтали, соответственно - нет)..
Может у вас есть идеи как развить эту тему?
- Вложения
-
- Без имени.png (11.65 КБ) 4759 просмотров
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Я думал пока сделать Counter, который декрементировался бы при каждом проходе через ячейку, и в зависимости от его значения я бы выбирал какую переменную из словаря поставить в переменную Variable1. Вариант так себе, но я пока экспериментирую.molochnii писал(а): ↑03 авг 2021, 14:46Ну у меня получилось кое-что)
Я поставил в cross-data такое выражение - {IIF(Variable1 == null, Variable2, Variable1)}, где Variable1 это переменная которая будет служить для вывода какого-то значения и на первом проходе Variable1 = null, а Variable2 - это string[], в котором содержатся названия столбцов, которые будут выводиться.
Тогда получается что на первом проходе создаются пустые ячейки, а потом я задаю значение для Variable1 и он выводит уже ее значения. Я поставил обновление значения Variable1 при начале построения в Cross-Data.
Но я столкнулся с новой проблемой, значения для Variable1 задаются для cross-data 1 раз, и он выводит одно и тоже значение столько раз, сколько было создано ячеек на первом проходе. Хотя значения по вертикали разные ( по горизонтали, соответственно - нет)..
Может у вас есть идеи как развить эту тему?
Вся проблема сейчас заключается в том что значение для cross-data задается только 1 раз, и во время ее работы невозможно изменить это значение.. может есть обходные пути?
По крайней мере вы теперь лучше понимаете что я хочу сделать..)
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Здравствуйте,
Вышлите ваш вариант отчета с тестовыми данными для анализа.
Спасибо.
Вышлите ваш вариант отчета с тестовыми данными для анализа.
Спасибо.
Re: Динамическая двумерная таблица или передача выражения в ячейки во время рендеринга
Я боюсь, это не представляется возможным.. Да и то не к чему, тот пример что вы мне скинули в моем другом вопросе (viewtopic.php?f=12&t=11887&p=36442#p36442) мне понравился, я сейчас пытаюсь разработать его. Однако там тоже возникли трудности..)
Спасибо