Синтаксический разбор StiExpression....

Обсуждение Stimulsoft Reports.NET
Ответить
Stilux
Сообщения: 94
Зарегистрирован: 22 фев 2007, 09:02

Синтаксический разбор StiExpression....

Сообщение Stilux »

1. Подскажите пожалуйста, как из свойства Text, компонента StiText,
вычленить ссылки на источники и переменные из словаря?

2. Не понятно, почему нельзя добавить в класс StiComponent свойства
DataSource и DataMember, куда прописывать ссылки на источники из
словаря (поля DataSet или переменные), чтобы не приходилось выполнять пункт 1?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Синтаксический разбор StiExpression....

Сообщение Vital »

Здравствуйте,
1. Подскажите пожалуйста, как из свойства Text, компонента StiText,
вычленить ссылки на источники и переменные из словаря?
А в текстовом выражении ссылки на поля и переменные идут в простой форме или в форме выражений?
2. Не понятно, почему нельзя добавить в класс StiComponent свойства
DataSource и DataMember, куда прописывать ссылки на источники из
словаря (поля DataSet или переменные), чтобы не приходилось выполнять пункт 1?
В этом случае у нас появилось бы два дополнительных поля, которые нужны только в одном (хотя и массово используемом) случае применения.

Спасибо.
Stilux
Сообщения: 94
Зарегистрирован: 22 фев 2007, 09:02

Синтаксический разбор StiExpression....

Сообщение Stilux »

А в текстовом выражении ссылки на поля и переменные идут в простой форме или в форме выражений?
Свойство Text типа StiExpression.
Ссылки на источники указываются в виде полных имен источников, указанных в фигурных скобках...
И что дальше?
Vital
Сообщения: 647
Зарегистрирован: 09 июн 2006, 12:23

Синтаксический разбор StiExpression....

Сообщение Vital »

Можно использовать такой код:

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

if (expression.StartWith("{") && expression.EndWith("}"))
{
   expression = expression.Trim();
   StiDataSource dataSource = StiDataColumn.GetDataSourceFromDataColumn(report.Dictionary, expression);
   StiDataColumn dataColumn = StiDataColumn.GetDataColumnFromColumnName(report.Dictionary, expression);
}
Ответить