title: How do you update TStringGrid cells in Delphi XE3, Firemonkey2
body: <p>I've seen this question asked as part of another <a href="https://stackoverflow.com/questions/7531973/change-colour-of-tlabel-in-firemonkey-ios-app-and-add-items-to-tstringgrid">question</a> before, so know it can't just be me...if I open a new FireMonkey2 HD app, add a TButton and TStringGrid, then add this to the button on click event, NOTHING happens in the grid when I click the button!</p>
  
  <pre><code>procedure TForm33.Button1Click(Sender: TObject);
  var
    i: Integer;
  begin
    for i:= 0 to 6 do
     begin
       StringGrid1.Cells[0,i] := 'Row:' + IntToStr(i);
     end;
     stringgrid1.UpdateColumns;
     stringgrid1.SetFocus;
   end;    
  </code></pre>
  
  <p>Any ideas ?
  PS I've also tried using TStringGrid.OnGetValue and it still won't show anything in the StringGrid.</p>
  
  <p>Having looked further into the TStringGrid source code, C is nil so the Cells are never being set.</p>
  
  <pre><code>procedure TStringGrid.SetValue(Col, Row: Integer; const Value: TValue);
  var
    C: TColumn;
  begin
    C := Columns[Col];
    if Assigned(C) then
    begin
      C.UpdateRowCount(RowCount);
      C.SetCells(Row, Value);
    end;
  </code></pre>
  
  <p>I appears there are no Columns in the "virgin" StringGrid, so how do you add them ? There is a r+w RowCount property but ColCount is readonly...</p>