Spread WPF Documentation
Binding to Data
Spread WPF Documentation > Developer's Guide > Managing Data > Binding to Data

GcSpreadSheet supports binding to any object that implements the IEnumerable interface. This includes the Ilist, ObservableCollection, and WCF data source. Binding to data sets or data tables and the IBindingList data source is also supported.

GcSpreadSheet supports one way data binding. Changes to the source automatically update the target but, changes to the target are not propagated back to the source.

Specific columns can be bound with the DataField property.

Using Code

The following example binds the sheet with the DataSource property.

CS
Copy Code
System.Data.DataTable dt = new System.Data.DataTable("Test");
System.Data.DataRow dr = default(System.Data.DataRow);
dt.Columns.Add("Series0");
dt.Columns.Add("Series1");
dr = dt.NewRow();
dr[0] = 2;
dr[1] = 1;
dt.Rows.Add(dr);   
dr = dt.NewRow();
dr[0] = 4;
dr[1] = 2;
dt.Rows.Add(dr);   
dr = dt.NewRow();
dr[0] = 3;
dr[1] = 4;
gcSpreadSheet1.Sheets[0].AutoGenerateColumns = true;
gcSpreadSheet1.Sheets[0].DataSource = dt;
gcSpreadSheet1.Invalidate();
private void button1_Click(object sender, RoutedEventArgs e)
  {
        gcSpreadSheet1.Sheets[0].ReloadBindingData();
        gcSpreadSheet1.Invalidate();
  }
VB.NET
Copy Code
Dim dt As New System.Data.DataTable("Test")
Dim dr As System.Data.DataRow
dt.Columns.Add("Series0")
dt.Columns.Add("Series1")
dr = dt.NewRow()
dr(0) = 2
dr(1) = 1
dt.Rows.Add(dr)
dr = dt.NewRow()
dr(0) = 4
dr(1) = 2
dt.Rows.Add(dr)
dr = dt.NewRow()
dr(0) = 3
dr(1) = 4
dt.Rows.Add(dr)
GcSpreadSheet1.Sheets(0).AutoGenerateColumns = True
GcSpreadSheet1.Sheets(0).DataSource = dt
GcSpreadSheet1.Invalidate()
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
        GcSpreadSheet1.Sheets(0).ReloadBindingData()
        GcSpreadSheet1.Invalidate()
    End Sub
See Also