Страница 1 из 1

Отображение псевдонимов в словаре

Добавлено: 17 дек 2008, 03:36
Сергей
Здравствуйте.

В дизайнере отчетов в словаре поля отображаются в виде []. Хотелось бы иметь возможность отображать лишь синонимы, чтобы не загромождать интерфейс и не давать пользователям лишнюю информацию. Можете реализовать?

Спасибо.

PS: скоро уйду в отпуск и на какое-то время избавлю вас от лишних вопросов :)

Отображение псевдонимов в словаре

Добавлено: 17 дек 2008, 05:39
Edward
Здравствуйте.

Да, это возможно.

В самом начале Вашей программы, добавьте, пожалуйста, следующий код:

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

StiOptions.Dictionary.ShowOnlyAliasForComponents = true;
StiOptions.Dictionary.ShowOnlyAliasForData = true;
StiOptions.Dictionary.ShowOnlyAliasForDatabase = true;
StiOptions.Dictionary.ShowOnlyAliasForDataColumn = true;
StiOptions.Dictionary.ShowOnlyAliasForDataRelation = true;
StiOptions.Dictionary.ShowOnlyAliasForDataSource = true;
StiOptions.Dictionary.ShowOnlyAliasForPages = true;
StiOptions.Dictionary.ShowOnlyAliasForVariable = true;
Спасибо.

Отображение псевдонимов в словаре

Добавлено: 17 дек 2008, 08:17
Сергей
Спасибо! :)

Можно ли сделать поле в таблице-источнике невидимым? Например, искусственный первичный ключ. Удалить его нельзя, так как он используется в отношении, а отображать нежелательно.

Отображение псевдонимов в словаре

Добавлено: 17 дек 2008, 15:04
Edward
Задача решается при помощи следующего сервиса:

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

StiDictionaryPanelService service = StiDictionaryPanelService.GetService();
и класса Restrictions:

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

StiReport report = new StiReport();
report.Dictionary.Restrictions.Add("Customers", StiDataType.DataSource, StiRestrictionTypes.DenyShow);
report.Dictionary.Restrictions.Add("DataSource._ID", StiDataType.DataColumn, StiRestrictionTypes.DenyShow);
Определение перечисления, которое управляет видом ограничений:

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

public enum StiRestrictionTypes
{
	None = 0,
	DenyEdit = 1,
	DenyDelete = 2,
	DenyMove = 4,
	DenyShow = 8		
}
Производить необходимые ограничения нужно до вызова дизайнера.

Спасибо.