Back to Devexpress

UriJsonSource.Uri Property

corelibraries-devexpress-dot-dataaccess-dot-json-dot-urijsonsource-06a53c35.md

latest8.1 KB
Original Source

UriJsonSource.Uri Property

Gets or sets the System.Uri object that points to a URI or text file with JSON data.

Namespace : DevExpress.DataAccess.Json

Assembly : DevExpress.DataAccess.v25.2.dll

NuGet Package : DevExpress.DataAccess

Declaration

csharp
[DefaultValue(null)]
public Uri Uri { get; set; }
vb
<DefaultValue(Nothing)>
Public Property Uri As Uri

Property Value

TypeDefaultDescription
Urinull

Points to a Web-service endpoint or text file with JSON data.

|

Remarks

The following example demonstrates how to associate the JsonDataSource object with data from a web-service endpoint.

csharp
using DevExpress.DataAccess.Json;
using DevExpress.XtraReports.UI;
public static JsonDataSource CreateDataSourceFromWeb() {
    var jsonDataSource = new JsonDataSource();
    // Specify the endpoint.
    jsonDataSource.JsonSource = new UriJsonSource(
        new Uri("https://raw.githubusercontent.com/DevExpress-Examples/DataSources/master/JSON/customers.json"));
var root = new JsonSchemaNode();
root.NodeType = JsonNodeType.Object;

var customers = new JsonSchemaNode() {NodeType=JsonNodeType.Array, Name="Customers", Selected=true };
customers.AddChildren(new[] {
    new JsonSchemaNode(new JsonNode("CustomerID", true,
    JsonNodeType.Property, typeof(string))) 
    { 
    DisplayName = "Customer ID" },
    new JsonSchemaNode() {
        Name = "CompanyName",
        Selected = true,
        NodeType = JsonNodeType.Property,
        Type = typeof(string)
    },
    new JsonSchemaNode(new JsonNode("ContactTitle", true, JsonNodeType.Property, typeof(string))),
    new JsonSchemaNode(new JsonNode("Address", false, JsonNodeType.Property, typeof(string)))
});

root.AddChildren(customers);
jsonDataSource.Schema = root;
            // The schema is built, you do not have to call the Fill method to populate the Field List.
            // The Designer calls the Fill method automatically when a document is generated for preview.
            //jsonDataSource.Fill();
            return jsonDataSource;
        }
vb
Imports System.Net
Imports DevExpress.DataAccess.Json
Imports DevExpress.XtraReports.UI
Public Shared Function CreateDataSourceFromWeb() As JsonDataSource
    Dim jsonDataSource = New JsonDataSource()
    ' Specify the endpoint.
    jsonDataSource.JsonSource = New UriJsonSource(
        New Uri("https://raw.githubusercontent.com/DevExpress-Examples/DataSources/master/JSON/customers.json"))
Dim root = New JsonSchemaNode()
root.NodeType = JsonNodeType.Object

Dim customers = New JsonSchemaNode() With {.NodeType = JsonNodeType.Array, .Name = "Customers", .Selected = True}
customers.AddChildren({
    New JsonSchemaNode(New JsonNode("CustomerID", True, JsonNodeType.Property,
                                    GetType(String))) With {.DisplayName = "Customer ID"},
    New JsonSchemaNode() With {.Name = "CompanyName", .Selected = True,
    .NodeType = JsonNodeType.Property, .Type = GetType(String)},
    New JsonSchemaNode(New JsonNode("ContactTitle", True, JsonNodeType.Property,
                                    GetType(String))),
    New JsonSchemaNode(New JsonNode("Address", False, JsonNodeType.Property,
                                    GetType(String)))
})

root.AddChildren(customers)
jsonDataSource.Schema = root
            ' The schema is built, you do not have to call the Fill method to populate the Field List.
            ' The Designer calls the Fill method automatically when a document is generated for preview.
            'jsonDataSource.Fill()
            Return jsonDataSource
        End Function

The following example demonstrates how to associate the JsonDataSource object with JSON data from a file.

csharp
using DevExpress.DataAccess.Json;
using DevExpress.XtraReports.UI;
public static JsonDataSource CreateDataSourceFromFile() {
    var jsonDataSource = new JsonDataSource();
    // Specify the JSON file name.
    Uri fileUri = new Uri("customers.json", UriKind.RelativeOrAbsolute);
    jsonDataSource.JsonSource = new UriJsonSource(fileUri);
    // Populate the data source with data.
    jsonDataSource.Fill();
    return jsonDataSource;
}
vb
Imports System.Net
Imports DevExpress.DataAccess.Json
Imports DevExpress.XtraReports.UI
Public Shared Function CreateDataSourceFromFile() As JsonDataSource
    Dim jsonDataSource = New JsonDataSource()
    ' Specify the JSON file name.
    Dim fileUri As New Uri("customers.json", UriKind.RelativeOrAbsolute)
    jsonDataSource.JsonSource = New UriJsonSource(fileUri)
    ' Populate the data source with data.
    jsonDataSource.Fill()
    Return jsonDataSource
End Function

The following code snippets (auto-collected from DevExpress Examples) contain references to the Uri property.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

reporting-winforms-provide-authentication-to-access-json-data/CS/Form1.cs#L66

csharp
var jsonSource = new DevExpress.DataAccess.Json.UriJsonSource();
jsonSource.Uri = new Uri(@"http://northwind.servicestack.net/customers.json");

aspnet-mvc-dashboard-data-federation/CS/MVC_DataFederationExample/App_Start/DashboardConfig.cs#L66

csharp
UriJsonSource uriSource = (e.ConnectionParameters as JsonSourceConnectionParameters).JsonSource as UriJsonSource;
    uriSource.Uri = new Uri(HostingEnvironment.MapPath(@"~/App_Data/Categories.json"), UriKind.RelativeOrAbsolute);
}

reporting-winforms-provide-authentication-to-access-json-data/VB/Form1.vb#L64

vb
Dim jsonSource = New DevExpress.DataAccess.Json.UriJsonSource()
jsonSource.Uri = New Uri("http://northwind.servicestack.net/customers.json")

aspnet-mvc-dashboard-data-federation/VB/MVC_DataFederationExample/App_Start/DashboardConfig.vb#L65

vb
Dim uriSource As UriJsonSource = TryCast((TryCast(e.ConnectionParameters, JsonSourceConnectionParameters)).JsonSource, UriJsonSource)
    uriSource.Uri = New Uri(HostingEnvironment.MapPath("~/App_Data/Categories.json"), UriKind.RelativeOrAbsolute)
End If

See Also

Bind a Report to JSON Data (Runtime Sample)

UriJsonSource Class

UriJsonSource Members

DevExpress.DataAccess.Json Namespace