SSRS: GetReportParameters и значения даты - PullRequest
1 голос
/ 13 декабря 2011

У меня есть RDL-файл, в который я ввожу две даты, запускаю запрос на основе этого диапазона дат, чтобы заполнить раскрывающийся список, а затем заполняю другое текстовое поле значением по умолчанию, основанным на метке раскрывающегося списка. выбранный элемент списка.

Типы данных: дата / время для первых двух дат, текст для раскрывающегося списка и текст для последнего текстового поля. Значение в раскрывающемся списке, возвращаемое запросом, на самом деле является датой / временем, но если для типа данных установить значение «Дата / время», оно не будет работать должным образом при предварительном просмотре отчета (когда я выбираю значение в списке, текущий выбор просто возвращается к «<Выберите значение>», и в последнее текстовое поле ничего не помещается, независимо от его типа данных).

В любом случае, с раскрывающимся списком, имеющим тип данных текста, все работает нормально в предварительном просмотре.

Проблема в том, что у меня есть пользовательский интерфейс для отчетов, и я стараюсь, как могу, не могу заставить свою собственную реализацию правильно получить значение по умолчанию для моего последнего текстового поля.

Я заметил, что SSRS хочет, чтобы даты были только в определенном формате, поэтому, манипулируя датами, я могу получить ValidValues ​​для параметра раскрывающегося списка, вызвав GetReportParameters () с параметром Values, установленным следующим образом:

values[0].Name = "fromdate";
values[0].Value = "2011-11-01 00:00:00";
values[0].Label = "";
values[1].Name = "todate";
values[1].Value = "2011-11-30 00:00:00";
values[1].Label = "";

parameters = GetReportParameters("myreport", null, true, values, null);

После этого вызова параметры [2] теперь содержат ValidValues, и я могу заполнить свой собственный раскрывающийся список в пользовательском интерфейсе.

Однако, когда мне нужно получить значение по умолчанию для текстового поля, я не могу получить входные значения в формате, который будет принимать GetReportParameters ():

values[0].Name = "fromdate";
values[0].Value = "2011-11-01 00:00:00";
values[0].Label = "";
values[1].Name = "todate";
values[1].Value = "2011-11-30 00:00:00";
values[1].Label = "";
values[2].Name = "datelist";
values[2].Label = "The date is 22nd Nov 2011";
values[2].Value = "2011-11-22 00:00:00";

parameters = GetReportParameters("myreport", null, true, values, null);

После этого вызова я ожидаю, что параметр для моего текстового поля будет иметь значение DefaultValues, к которому я могу получить доступ, но это 'null', состояние установлено в HasOutstandingDependencies. Почему это? Все зависимости были установлены - насколько я понимаю, правильно, так в чем может быть проблема?

Я понимаю, что у меня могут возникнуть трудности с преобразованием типа данных между датой / временем и текстом, но если я попытаюсь сохранить его согласованность и использовать дату / время повсюду, то я не смогу заставить его работать даже в RDL. Предварительный просмотр, так что я не уверен, что это тоже путь!

Заранее спасибо.

...