DataControlBase.ItemsSource Property

Gets or sets the grid's data source. This is a dependency property.

Namespace: DevExpress.Xpf.Grid

Assembly: DevExpress.Xpf.Grid.v20.1.Core.dll

Declaration

[Bindable(true)]
public object ItemsSource { get; set; }
<Bindable(True)>
Public Property ItemsSource As Object

Property Value

Type Description
Object

A data source from which the grid retrieves its data.

Remarks

The grid cannot operate without a data source. It can be bound to data from a database, from an XML file, or to any data created at runtime. The grid can be bound to any object that implements the IEnumerable interface or its descendant (e.g. IList, ICollection). To bind a grid, you should assign a data source to the ItemsSource property. Note that the grid cannot be bound at design-time - only at runtime.

NOTE

The GridControl.DataSource property is obsolete.

Examples

This example demonstrates how to read data from an XML file and display it using the GridControl. If required, the changes made can be saved back to an XML file by clicking the button displayed below the grid.

<Window x:Class="DXGrid_BindingToXML.Window1"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
        xmlns:dxg="http://schemas.devexpress.com/winfx/2008/xaml/grid"
        Title="Window1">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition />
            <RowDefinition Height="30" />
        </Grid.RowDefinitions>

        <dxg:GridControl 
            x:Name="grid" 
            VerticalAlignment="Top">
            <dxg:GridControl.Columns>
                <dxg:GridColumn FieldName="FirstName" />
                <dxg:GridColumn FieldName="LastName" />
                <dxg:GridColumn FieldName="Company" />
                <dxg:GridColumn FieldName="City" />
            </dxg:GridControl.Columns>
            <dxg:GridControl.View>
                <dxg:TableView AutoWidth="True" />
            </dxg:GridControl.View>
        </dxg:GridControl>
        <Button Margin="5" Grid.Row="1" Click="Button_Click" 
                VerticalAlignment="Bottom" HorizontalAlignment="Left" 
                Content="Post Data to an XML File"/>
    </Grid>
</Window>
using System.Windows;
using System.Data;

namespace DXGrid_BindingToXML {

    public partial class Window1 : Window {
        static string path = @"..\..\Contacts.xml";
        public Window1() {
            InitializeComponent();
            grid.ItemsSource = GetDataFromXML();
        }
        private DataTable GetDataFromXML() {
            DataSet ds = new DataSet();
            ds.ReadXml(path);
            return ds.Tables[0];
        }
        private void PostDataToXML() {
            ((DataTable)grid.ItemsSource).DataSet.WriteXml(path);
        }

        private void Button_Click(object sender, RoutedEventArgs e) {
            PostDataToXML();
            MessageBox.Show("Changes have been successfully saved to an XML file.", "Info");
        }
    }

}
See Also