Добавление переменной типа DateTime

Обсуждение Stimulsoft Reports.NET
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Как добавить в словарь переменную типа DateTime? Использую следующий код.
Report.Dictionary.Variables.Add(new StiVariable("Reports", name, val));
где val - переменная типа DateTime. В дизайнере добавленная переменная отображается типом string.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Добавлю, если получится получить переменную типа DateTime, подскажите как использвать ее при создании запроса в новом источнике данных 9интересует правильный синтаксис выражения) и как получить переменную со значением на один день меньше?
Большое спасибо.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Добавление переменной типа DateTime

Сообщение Edward »

BeraleX писал(а):Добавлю, если получится получить переменную типа DateTime, подскажите как использвать ее при создании запроса в новом источнике данных 9интересует правильный синтаксис выражения)
При добавлении переменной Вы можете указать её тип двумя способами:
1. Создать переменную с одновременной её инициализацией с определением типа переменной.

Код: Выделить всё

StiReport report = new StiReport();
report.Dictionary.Variables.Add("Reports", "myvar", DateTime.Parse("10.01.2006"));
2. Создать переменную и явно указать её тип.

Код: Выделить всё

StiReport report = new StiReport();
report.Dictionary.Variables.Add("Reports", "myvar", typeof(DateTime)); 
BeraleX писал(а): и как получить переменную со значением на один день меньше?
Большое спасибо.

Код: Выделить всё

StiReport report = new StiReport();
report.Dictionary.Variables.Add("Reports", "myvar", DateTime.Parse("10.01.2006").AddDays(-1));
Спасибо.

BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Имелось в виду при создании отчета в дизайнере из этой зарегистрированной переменной для отображения на странице, а не добавление еще одной.
Спасибо за ответ.
Edward
Сообщения: 930
Зарегистрирован: 09 июн 2006, 12:23

Добавление переменной типа DateTime

Сообщение Edward »

BeraleX писал(а):Имелось в виду при создании отчета в дизайнере из этой зарегистрированной переменной для отображения на странице, а не добавление еще одной.
Спасибо за ответ.
Используйте, пожалуйста, следующий код:

Код: Выделить всё

myvar = myvar.AddDays(-1);
Спасибо.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Использую следующие строки кода:

Код: Выделить всё

string val = "01.08.2006";
val1 = DateTime.Parse(val, null,  DateTimeStyles.NoCurrentDateDefault);
Report.Dictionary.Variables.Add(new StiVariable("Reports", name, val1));
MessageBox.Show(val1.ToString());
Получаем сообщение 01.08.2006.

В результате при запуске дизайнера получаем переменную DateTime с именем name и значением 08/01/2006.
При использовании кода
name = name.AddDays(-1);
получаю при просмотре строку 07/01/2006. то есть поменялись местами дни и месяцы. Что делать?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Добавление переменной типа DateTime

Сообщение Vital »

Проблема возникает из-за того, что StimulReport.Net сохраняет дату в американском формате. Решена в последних билдах.
Пришлите запрос на support.

Спасибо.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Сегодня скачал новый билд, но проблема так и осталась не решенной (все без изменений, при добавлении новой переменной формат остался прежним)!?


---------------------------------------------------------------------------------------------------------------------------------
Прошу вашего прошения, добавил заново ссылки на сборки, перекомпилил, все работает. Огромное спасибо.

BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Проблема со значением переменной решена, но при попытке использования этой переменной в строке запроса, напрмер при редактировании строки запроса источника данных:

select * from Table (GET_DATA({IDCM}, {FDate},{LDate},{TreeLevel}))

вылезает та же ситуация (значения переменных FDate и LDate как вы говорите в американском формате).

И еще, в хранимую процедуру GET_DATA желательно передавать дату строкой в формате, указанном выше в постах, с обязательными одиночными кавычками в начале и конце( то есть строку типа 'dd.mm.yyyy'). Возможно ли этого добится преобразованием существующей переменной типа DateTime и использованием ее в строке запроса( не хочется специально для этого регистрировать в словаре дополнительно дублирующую строковую переменную, т.к. дат может быть много, т.е. переменных получается в 2 раза больше, а соответственно и путаницы с ними)?

Спасибо за понимание.
BeraleX
Сообщения: 114
Зарегистрирован: 17 авг 2006, 09:39

Добавление переменной типа DateTime

Сообщение BeraleX »

Неужели ничего нельзя сделать?:cry:
Ответить