В выражениях можно использовать значения из источников данных. Для этого используется ссылка в выражении на поле источника данных. Ссылка - это строковое представление поля. Сначала указывается наименование источника данных, затем разделитель "." (точка), наименование поля:
{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")}