Back to Devexpress

ObjectDataSource.RebuildResultSchema() Method

corelibraries-devexpress-dot-dataaccess-dot-objectbinding-dot-objectdatasource-9db19379.md

latest5.6 KB
Original Source

ObjectDataSource.RebuildResultSchema() Method

Builds the ObjectDataSource schema.

Namespace : DevExpress.DataAccess.ObjectBinding

Assembly : DevExpress.DataAccess.v25.2.dll

NuGet Package : DevExpress.DataAccess

Declaration

csharp
public void RebuildResultSchema()
vb
Public Sub RebuildResultSchema

Remarks

Call this method to build the data source schema. You can use the schema to bind controls to data source fields.

Use the RebuildResultSchema(IEnumerable<IParameter>) method instead to apply values from external parameters (for instance, report parameters) to the data source parameters before the schema is built.

Example

The code sample below configures an object data source and calls the RebuildResultSchema method to build the data source schema.

csharp
using System.Collections.Generic;
using DevExpress.DataAccess;
using DevExpress.DataAccess.ObjectBinding;
// ...
public class Employee {
    public string Name { get; set; }
    public string Position { get; set; }
}
// The class that fetches data to the ObjectDataSource.
public static class EmployeeDataSource {
    public static IEnumerable<Employee> GetEmployeeList(bool fetchData) {
        if (!fetchData)
            return null;
        var employees = new List<Employee>() {
                new Employee() {
                    Name = "Andrew Fuller",
                    Position = "Vice President, Sales"
                },
                new Employee() {
                    Name = "Nancy Davolio",
                    Position = "Sales Representative"
                },
                new Employee() {
                    Name = "Maria Anders",
                    Position = "Sales Representative"
                },
                new Employee() {
                    Name = "Ana Trujillo",
                    Position = "Owner"
                },
                new Employee() {
                    Name = "Antonio Moreno",
                    Position = "Sales Representative"
                },
                new Employee() {
                    Name = "Thomas Hardy",
                    Position = "Sales Representative"
                },
                new Employee() {
                    Name = "Christina Berglund",
                    Position = "Order Administrator"
                },
                new Employee() {
                    Name = "Frederique Citeaux",
                    Position = "Marketing Manager"
                },
                new Employee() {
                    Name = "Hanna Moos",
                    Position = "Sales Representative"
                },
            };
        return employees;
    }
}
// ...
// Create an ObjectDataSource instance.
ObjectDataSource dataSource = new ObjectDataSource();
dataSource.Name = "objectDataSource1";
dataSource.DataSource = typeof(EmployeeDataSource);
// Specify the data member.
dataSource.DataMember = "GetEmployeeList";
// Specify the data source parameters.
dataSource.Parameters.Add(new Parameter("fetchData", typeof(bool), true));
// Build the data source schema.
dataSource.RebuildResultSchema();
vb
Imports System.Collections.Generic
Imports DevExpress.DataAccess
Imports DevExpress.DataAccess.ObjectBinding
' ...
Public Class Employee
    Public Property Name() As String
    Public Property Position() As String
End Class
' The class that fetches data to the ObjectDataSource.
Public NotInheritable Class EmployeeDataSource

    Private Sub New()
    End Sub

    Public Shared Function GetEmployeeList(ByVal fetchData As Boolean) As IEnumerable(Of Employee)
        If Not fetchData Then
            Return Nothing
        End If
        Dim employees = New List(Of Employee)() From {
            New Employee() With {.Name = "Andrew Fuller", .Position = "Vice President, Sales"},
            New Employee() With {.Name = "Nancy Davolio", .Position = "Sales Representative"},
            New Employee() With {.Name = "Maria Anders", .Position = "Sales Representative"},
            New Employee() With {.Name = "Ana Trujillo", .Position = "Owner"},
            New Employee() With {.Name = "Antonio Moreno", .Position = "Sales Representative"},
            New Employee() With {.Name = "Thomas Hardy", .Position = "Sales Representative"},
            New Employee() With {.Name = "Christina Berglund", .Position = "Order Administrator"},
            New Employee() With {.Name = "Frederique Citeaux", .Position = "Marketing Manager"},
            New Employee() With {.Name = "Hanna Moos", .Position = "Sales Representative"}
        }
        Return employees
    End Function
End Class

See Also

ObjectDataSource Class

ObjectDataSource Members

DevExpress.DataAccess.ObjectBinding Namespace