When I update an item in RadGrid, it updates my datasource but doesn't switch back to normal mode. The item still shows in edit mode. Here is what I have.
| <telerik:RadGrid ID="RadGrid1" ShowStatusBar="true" GridLines="None" runat="server" AllowAutomaticDeletes="True" |
| AllowAutomaticInserts="True" OnNeedDataSource="RadGrid1_NeedDataSource" PageSize="5" |
| AllowAutomaticUpdates="True" AllowPaging="True" MasterTableView-AllowAutomaticInserts="true" |
| AutoGenerateColumns="True" AutoGenerateDeleteColumn="true" AutoGenerateEditColumn="true" |
| OnInsertCommand="RadGrid1_InsertCommand" OnUpdateCommand="RadGrid1_UpdateCommand" |
| Skin="Web20" OnDeleteCommand="RadGrid1_DeleteCommand" OnColumnCreated="RadGrid1_ColumnCreated"> |
| <PagerStyle Mode="NextPrevAndNumeric" /> |
| <MasterTableView CommandItemDisplay="Top" Width="90%" DataKeyNames="id" > |
| <Columns> |
| </Columns> |
| </MasterTableView> |
| </telerik:RadGrid> |
| protected void RadGrid1_UpdateCommand(object source, GridCommandEventArgs e) |
| { |
| GridDataItem gridEditFormItem = (GridDataItem)e.Item; |
| Hashtable ht = new Hashtable(); |
| gridEditFormItem.ExtractValues(ht); |
| String ID = string.Empty; |
| foreach (DictionaryEntry entry in ht) |
| { |
| if (entry.Key.Equals("id")) |
| { |
| ID = entry.Value.ToString(); |
| break; |
| } |
| } |
| DataTable myTable = (DataTable)this.Session["myDatatable"]; |
| DataRow[] rowList = myTable.Select("id = '" + ID.ToString() + "'"); |
| foreach (DataRow dr in rowList) |
| { |
| foreach (DictionaryEntry entry in ht) |
| { |
| if (!entry.Key.Equals("id")) |
| dr[entry.Key.ToString()] = entry.Value; |
| } |
| } |
| Session["myDatatable"] = myTable; |
| RadGrid1.Rebind(); |
| } |