title: Xamarin Forms SFDataGrid Binding Issue
body: <p>I'm having problems with binding to a data grid.  I've got a dynamic data set, so I can't just create objects.  I've tried using both an array of ExpandoObjects and a DataTable, the result is the same.  If I explicitly create the dataset, it works but this doesn't do me any good.  My xaml is:
  <code>&lt;sf:SfDataGrid BackgroundColor=&quot;{ DynamicResource DataGridHeaderRowBackgroundColor }&quot; ItemsSource=&quot;{Binding TableData, Mode=OneWay}&quot; Columns=&quot;{Binding Columns, Mode=OneWay}&quot; AutoGenerateColumns=&quot;False&quot;&gt;&lt;/sf:SfDataGrid&gt;</code></p>
  <p>For example:</p>
  <pre><code>int cellIndex = 0;
  foreach (TableCell cell in row.Cells.OrderBy(c =&gt; c.ColumnIndex))
  {
      GridTextColumn column = new GridTextColumn
      {
          HeaderText = cell.CellText
      };
  
      if (cell.CellType == TableCellType.Checkbox)
      {
          column.ColumnSizer = ColumnSizer.SizeToHeader;
      }
      else
      {
          column.Width = 200;
      }
  
      column.MappingName = cellIndex.ToString();
      column.HeaderFontAttribute = FontAttributes.Bold;
      column.HeaderTextAlignment = TextAlignment.Center;
      column.HeaderFont = &quot;SourceSansPro-Bold.ttf#Source Sans Pro&quot;;
      column.HeaderCellTextSize = 14;
      column.LoadUIView = true;
      column.LineBreakMode = LineBreakMode.CharacterWrap;
  
      this.Columns.Add(column);
      cellIndex++;
  }
  
  Dictionary s = new Dictionary();
  s.Add(&quot;0&quot;, &quot;zero&quot;);
  s.Add(&quot;1&quot;, &quot;one&quot;);
  s.Add(&quot;2&quot;, &quot;two&quot;);
  s.Add(&quot;4&quot;, &quot;three&quot;);
  s.Add(&quot;5&quot;, &quot;four&quot;);
  s.Add(&quot;6&quot;, &quot;five&quot;);
  s.Add(&quot;7&quot;, &quot;six&quot;);
  s.Add(&quot;8&quot;, &quot;seven&quot;);
  s.Add(&quot;8&quot;, &quot;eight&quot;);
  tableData.Add(s.ToExpando());
  
  this.TableData = tableData;
  </code></pre>
  <p>Now, for my real data I do this (column stuff is exactly the same).  This does not work, I get the attached screenshot.</p>
  <pre><code>Dictionary rowData = new Dictionary();
  int cellIndex = 0;
  foreach (TableCell cell in row.Cells.OrderBy(c =&gt; c.ColumnIndex))
  {
      rowData.Add(cellIndex.ToString(), string.IsNullOrEmpty(cell.CellText) ? &quot;EMPTY&quot; : cell.CellText);
      cellIndex++;
  }
  
  tableData.Add(rowData.ToExpando());
  </code></pre>
  <p><a href="https://i.stack.imgur.com/3HcRI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3HcRI.png" alt="Screenshot" /></a></p>