title: RadGrid inplace edit - no values when update command fired
body: <p>I need to create Excel like control using Telerik RadGrid - dynamic size of columns and rows, in line editing. My problem is that, when I try to call update command on edited row in return it has old values only.</p>
  
  <p>My RadGrid control:</p>
  
  <pre><code>&lt;telerik:RadGrid runat="server" ID="rgDataSheet" AutoGenerateColumns="true" AllowSorting="false" AllowAutomaticDeletes="false" AllowAutomaticInserts="false" AllowAutomaticUpdates="false"
      AllowMultiRowEdit="true" AllowPaging="false" EnableViewState="false" OnNeedDataSource="HandlerGridOnNeedDataSource"
      OnItemUpdated="GridItemUpdated" OnInsertCommand="GridInsertCommand" OnUpdateCommand="GridUpdateCommand"
      OnCancelCommand="GridCancelCommand"&gt;
      &lt;MasterTableView runat="server" EditMode="InPlace" NoMasterRecordsText="brak rekordów"
          ShowHeadersWhenNoRecords="true" AllowCustomSorting="false" EnableColumnsViewState="false"
          AllowSorting="false" AllowFilteringByColumn="false" TableLayout="Fixed"&gt;
          &lt;Columns&gt;
              &lt;telerik:GridEditCommandColumn UpdateText="Update" EditText="Edit" CancelText="Cancel" /&gt;
          &lt;/Columns&gt;
      &lt;/MasterTableView&gt;
      &lt;ClientSettings&gt;
          &lt;ClientEvents OnRowClick="RowClick" /&gt;
      &lt;/ClientSettings&gt;
  &lt;/telerik:RadGrid&gt;
  </code></pre>
  
  <p>My events:</p>
  
  <pre><code>protected void Page_Load(object sender, EventArgs e)
      {
          if (!IsPostBack)
          {
              List&lt;string&gt; datakeynames = new List&lt;string&gt;();
  
              dataSet = new DataSet();
              dataSet.Tables.Add(new DataTable());
              dataSet.Tables[0].Columns.Add("col0"); 
              dataSet.Tables[0].Columns.Add("col1"); 
              dataSet.Tables[0].Columns.Add("col2"); 
              dataSet.Tables[0].Columns.Add("col3"); 
              dataSet.Tables[0].Columns.Add("col4"); 
              dataSet.Tables[0].Columns.Add("col5"); 
  
              dataSet.Tables[0].Rows.Add(new object[] { "1", "11", "a", "q", "z", "n" });
              dataSet.Tables[0].Rows.Add(new object[] { "2", "12", "s", "w", "x", "m" });
              dataSet.Tables[0].Rows.Add(new object[] { "3", "13", "d", "e", "c", "," });
              dataSet.Tables[0].Rows.Add(new object[] { "4", "14", "f", "r", "v", "h" });
              dataSet.Tables[0].Rows.Add(new object[] { "5", "15", "g", "t", "b", "y" });
              ViewState["dataSet"] = dataSet;
              rgDataSheet.MasterTableView.DataKeyNames = new string[] { "col0", "col1", "col2", "col3", "col4", "col5" };
          }
          else
          {
              rgDataSheet.Rebind();
          }
      }
  
  protected void HandlerGridOnNeedDataSource(object sender, GridNeedDataSourceEventArgs e)
      {
          dataSet = (DataSet)ViewState["dataSet"];
          ((RadGrid)sender).DataSource = dataSet;
      }
  
  protected void GridUpdateCommand(object source, GridCommandEventArgs e)
      {
          //here I try access changed values, in example -
          //GridEditableItem editedItem = e.Item as GridEditableItem;
          //editedItem.OwnerTableView.DataKeyValues -&gt; it contains always old values
      }
  </code></pre>