Progress® Telerik® Reporting R3 2021

New to Telerik Reporting? Download free 30-day trial

How to Bind to a DataView

The following example illustrates how to use a DataView as the source for an ObjectDataSource component.

The sample code below shows how to pass a DataView object to the DataSource property of the ObjectDataSource component. DataView is usually used when we want to work only with a subset of data from the DataTable. Additionally a sample calculated field is added that can be used in the report definition in the same way as a regular field.

void Form3_Load(object sender, EventArgs e)
    // Creating and configuring the ObjectDataSource component:
    var objectDataSource = new Telerik.Reporting.ObjectDataSource();
    objectDataSource.DataSource = GetData("Name LIKE 'Mountain%'"); // GetData returns a DataView with the specified row filter.
    objectDataSource.CalculatedFields.Add(new Telerik.Reporting.CalculatedField("FullName", typeof(string), "=Fields.Name + ' ' + Fields.ProductNumber")); // Adding a sample calculated field.

    // Creating a new report
    var report = new Report1();

    // Assigning the ObjectDataSource component to the DataSource property of the report.
    report.DataSource = objectDataSource;

    // Use the InstanceReportSource to pass the report to the viewer for displaying
    var reportSource = new Telerik.Reporting.InstanceReportSource();
    reportSource.ReportDocument = report;

    // Assigning the report to the report viewer.
    reportViewer1.ReportSource = reportSource;

    // Calling the RefreshReport method in case this is a WinForms application.

static DataView GetData(string rowFilter)
    const string connectionString =
        "Data Source=(local)\\SQLEXPRESS;Initial Catalog=AdventureWorks;Integrated Security=True";

    string selectCommandText =
        "SELECT Name, ProductNumber FROM Production.Product;";

    SqlDataAdapter dataAdapter = new SqlDataAdapter(selectCommandText, connectionString);
    DataTable dataTable = new DataTable();


    DataView dataView = dataTable.DefaultView;
    dataView.RowFilter = rowFilter; // View only those records that match a certain criteria.

    return dataView;
In this article
Not finding the help you need?