В выражениях можно использовать значения из источников данных. Для этого используется ссылка в выражении на поле источника данных. Ссылка - это строковое представление поля. Сначала указывается наименование источника данных, затем разделитель "." (точка), наименование поля:

 

 

{DataSource.Column1}

 

 

Например:

 

 

{Customers.CompanyName}

 

 

это выражение вернет наименование компании.Если источник содержит связь с другими источниками данных, то можно вставить поля из parent источника данных. В этом случае, после названия источника данных через точку идет наименование связи. А затем, через точку, наименование поля:

 

 

{Datasource.Relation.Field}

 

 

Например:

 

 

{Products.ParentCategories.CategoryName}

 

 

Здесь:

Products – это наименование источника данных;
ParentCategories – это наименование связи, которой связаны два источника данных. В данном случае связаны два источника данных:
Products – список продуктов, и Categories – список категорий этих продуктов.
CategoryName – наименование колонки в источнике данных Categories.

 

В результате вычисления, выражение вернет наименование категории для продукта.

 

Stimulsoft Reports не накладывает каких либо ограничений на количество переходов по связям. Т.е. возможно обратиться к колонке через две связи, через три и т.д.. Например:

 

 

{OrderDetails.ParentProducts.ParentCategories.CategoryName}

 

 

в этом выражении:

OrderDetails – это наименование источника данных;
ParentProducts – наименование связи между источником данных OrdersDetails и Products;
ParentCategories. – наименование связи между источником данных Products и источником данных Categories;
CategoryName – поле в источнике данных Categories.

 

Как видно из примера значение поля CategoryName было получено при помощи обхода связей из источника данных OrderDetails к источнику данных Categories. При этом не было прямых обращений к источнику данных Categories.

 

Важно

 

Если языком программирования отчета является C#, то имеет значение регистр написания наименований переменных. Если языком программирования является VB.NET, то регистр написания не имеет значения.

 

 

 

Необходимо учитывать, что все значения в источниках данных типизированы, т.е. все данные динамически преобразуются к типу, указанному в параметрах колонки. Это позволяет существенно ускорить разработку отчетов. Однако, если следует получить данные из колонки без преобразования, то можно обратиться к источнику данных напрямую. Например:

 

 

{Products["ProductName"]}

 

 

Это выражение вернет данные из источника данных Products в том виде, в каком они есть, без преобразований. Это же выражение для VB.Net будет таким:

 

 

{Products.Item("ProductName")}