Интерактивность: Как получить из формулы Object, а не String ?

severnsevern Екатеринбург
отредактировано 02:29 Раздел: FastReport .NET
Я использую отчеты для вывода данных бизнес-объектов.
Т.е. запросы к базе формирует некий QueryBuilder,
а результат выводится в отчет.

Хочется сделать так, чтоб при нажатии на цифру в отчете
выводился новый отчет - показывающий детализацию этой цифры.
Для этого мне нужны данные о том, чему эта цифра соответствует.
Например, что это приход товара Бандура за период с 01.01.11 по 25.03.11
Тогда я могу потребовать от построителя запросов сформировать новый
отчет - с этими параметрами, но развернутый по документам.
Или по датам.

Эти данные я вношу в HyperLink соответствующего элемента.
И при клике на этом элементе - вызываю обработчик:

// Обработчик в скрипте отчета
// При клике на цифре - вызвать детализирующий отчет для этой цифры
private void OpenText_Click(object sender, EventArgs e)
{
// sender - это объект, который был кликнут.
// Чтобы получить значение гиперссылки, надо привести sender к типу ReportComponentBase.
object key = (sender as ReportComponentBase).Hyperlink.Value;

// qBuilder - построитель запросов, сформировавший данные этого отчета
var qBuilder = Report.GetColumnValue("Data.QBuilder") as StdAccountReport;
// Вызываем событие детализации отчета - сообщая,
// что именно нужно детализировать
qBuilder.OnDetalizationQuery(key);
}

Проблема в том, что Hyperlink.Value возвращает строку, а не Object.
А мне нужно передать объект, содержащий несколько параметров.
Что-то типа new{Good=..., Store = ... }
(new{Good=<Бандура>, Store = <Подсобка> })

Это легко сделать через Object - но как мне передать этот Object?
Может быть, можно сделать у ссылки возможность хранить объект ?
Или подскажете какую-нибудь другую функцию, как
получить результат Hyperlink.Expression в виде объекта, не превращая
его в строку ?

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.