Добрый день.
Существует возможность добавления собственных функций в отчеты? Например: число 23 нужно отображать как "двадцать три" или "зонт" => "зонты"
Пользовательские функции
Пользовательские функции
- Вложения
-
- Functions.png (20.82 КБ) 2652 просмотра
Stimulsoft 2014.1.1900.0 Winforms / Windows 7 / Visual Studio 2012 UP4
Re: Пользовательские функции
Здравствуйте.
Для перевода чисел в строку вы можете использовать функцию Strings - ToWords - ToWordsRu()
Вы можете добавить свои функции перед вызовон дезайнера с помощью следующего статического метода:
Спасибо.
Для перевода чисел в строку вы можете использовать функцию Strings - ToWords - ToWordsRu()
Вы можете добавить свои функции перед вызовон дезайнера с помощью следующего статического метода:
Код: Выделить всё
public static StiFunction AddFunction(string category, string groupFunctionName, string functionName, string description, Type typeOfFunction, Type returnType, string returnDescription, Type []argumentTypes, string []argumentNames, string []argumentDescriptions)
Re: Пользовательские функции
Получилось зарегистрировать функцию, но при открытии "Просмотра" в "Дизайнере", "Дизайнер" подвисает и ничего не показывает.
Регистрация функции выполняется следующим образом:
Вызов регистрации выполняется так:
Какие еще моменты нужно учесть при регистрации и вызове собственной функции?
Пример проекта прикрепляют. Прикрепить видео пример не могу: "расширение swf запрещено администратором"
Регистрация функции выполняется следующим образом:
Код: Выделить всё
Type typeOfFunction = this.GetType();
Type returnType = typeof (string);
Type[] argumentTypes = { typeof (int) };
string[] argumentNames = { "value" };
string[] argumentDescriptions = { "Число для преобразования" };
StiFunctions.AddFunction(
"User",
"Group",
"MyConvert",
"Пользовательская функция",
typeOfFunction,
returnType,
"Строка с приставкой 'Ex: '",
argumentTypes,
argumentNames,
argumentDescriptions
);
Код: Выделить всё
var report = new StiReport();
report.Load(@"Data\Report.mrt");
report.RegBusinessObject("Item", list);
report.Dictionary.SynchronizeBusinessObjects(7);
AddFunction();
report.Design();
Пример проекта прикрепляют. Прикрепить видео пример не могу: "расширение swf запрещено администратором"
- Вложения
-
- TestStimulsoftFunc.zip
- (35.24 КБ) 201 скачивание
Stimulsoft 2014.1.1900.0 Winforms / Windows 7 / Visual Studio 2012 UP4
Re: Пользовательские функции
Здравствуйте.
Патч будет включен в следующий предрелизный билд в пятницу.
Также вам надо сделать вашу функцию статической, т.е.
Если не хотите ждать следующего билда, то в своём коде при вызове метода AddFunction замените имя группы на имя функции:
Спасибо.
Проблема решена.kavit писал(а):Получилось зарегистрировать функцию, но при открытии "Просмотра" в "Дизайнере", "Дизайнер" подвисает и ничего не показывает.
Патч будет включен в следующий предрелизный билд в пятницу.
Также вам надо сделать вашу функцию статической, т.е.
Код: Выделить всё
public static string MyConvert(int value)
{
return "Ex: " + value;
}
Код: Выделить всё
StiFunctions.AddFunction(
"User",
"MyConvert", // <---
"MyConvert",
"Пользовательская функция",
typeOfFunction,
returnType,
"Строка с приставкой 'Ex: '",
argumentTypes,
argumentNames,
argumentDescriptions
);
Re: Пользовательские функции
Здравствуйте.
Ваша функция должны быть статической.
Ещё мы поправили небольшой баг. На данный момент название группы должно быть такое же как и название функции.
Данный баг уже исправлен. Исправление будет доступно в нашем следующем предрелизном билде.
Спасибо.
Ваша функция должны быть статической.
Ещё мы поправили небольшой баг. На данный момент название группы должно быть такое же как и название функции.
Данный баг уже исправлен. Исправление будет доступно в нашем следующем предрелизном билде.
Спасибо.