Category / Section
How to populate SfDataGrid through a data table in Xamarin.Android ?
2 mins read
To populate SfDataGrid through a DataTable, you must refer the System.Data assembly in your project.
Refer the below steps to add the System.Data assembly in your project.
- Right click on the reference of PCL project and click on Add Reference

- Choose Framework listed under Assemblies section in the left side panel and select System.Data and click ok.

Now, a DataTable collection can be directly bound to SfDataGrid.ItemsSource as shown in the below code example.
MainClass.cs
public class MainActivity : Activity
{
private SfDataGrid sfGrid;
private ViewModel_ DataTable viewModel;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
sfGrid = new SfDataGrid(this);
viewModel = new ViewModel_ DataTable ();
sfGrid.ItemsSource = viewModel.Records;
sfGrid.AutoGenerateColumns = true;
SetContentView(sfGrid);
}
}
ViewModel_ DataTable.cs
public class ViewModel_DataTable : INotifyPropertyChanged
{
public ViewModel_ DataTable ()
{
Records = GetRecords();
}
private DataTable records;
public DataTable Records
{
get
{
return records;
}
set
{
records = value;
RaisePropertyChanged("Records");
}
}
private DataTable GetRecords()
{
DataTable dataTable = new DataTable();
dataTable.Columns.Add("Column1", typeof(int));
dataTable.Columns.Add("Column2", typeof(string));
dataTable.Columns.Add("Column3", typeof(int));
dataTable.Rows.Add(new object[] { 1001, "Sean", 2001, "Jacobson", 3001, "Sean Jacobson", 4001, "Sean", 1001, "Jacobson" });
dataTable.Rows.Add(new object[] { 1001, "Sean Jacobson", 2002, "Jacobson", 3002, "Sean Jacobson", 4002, "Sean", 1002, "Sean" });
dataTable.Rows.Add(new object[] { 1003, "Jacobson", 2003, "Jacobson", 3003, "Sean Jacobson", 4003, "Sean", 1003, "Jacobson" });
return dt;
}
public event PropertyChangedEventHandler PropertyChanged;
public void RaisePropertyChanged(string propName)
{
if (this.PropertyChanged != null)
this.PropertyChanged(this, new PropertyChangedEventArgs(propName));
}
}
Note:
View filtering is not supported by SfDataGrid while binding a DataTable collection.
Sample Link: How to populate SfDataGrid through a data table in Xamarin.Android?