i am having a similar problem, i am binding my radgrid to a datatable created manually after converting an xml to datatable, but update command doest give updated values,
here is my grid code
here is where i am assigning the datatable to grid on button click
this.gvTable.DataSource = dataTable;
Session["DataSource"] = dataTable;
this.gvTable.MasterTableView.DataKeyNames = GetColNames(dataTable); // Gets the column names of the datatable and returns as string[]
this.gvTable.DataBind();
here is the pageload event, its empty
protected void Page_Load(object sender, EventArgs e)
{
}
here is the need datasource
here is the gvTable_UpdateCommand
PROBLEM:
editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["col1"].ToString()
this line in the above function always gives old values, cant figure out why, please help, thanks
i have used the code from this page
http://www.telerik.com/help/aspnet-ajax/grid-updating-inplace-and-editforms.html
here is my grid code
<
telerik:RadGrid
runat
=
"server"
ID
=
"gvTable"
AllowPaging
=
"True"
Skin
=
"Vista"
PageSize
=
"100"
AllowSorting
=
"True"
ClientSettings-DataBinding-EnableCaching
=
"true"
GridLines
=
"None"
AutoGenerateEditColumn
=
"True"
AutoGenerateDeleteColumn
=
"True"
AllowAutomaticUpdates
=
"False"
OnUpdateCommand
=
"gvTable_UpdateCommand"
OnInsertCommand
=
"gvTable_InsertCommand"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
onneeddatasource
=
"gvTable_NeedDataSource"
>
<
ExportSettings
FileName
=
"Order Details"
IgnorePaging
=
"True"
ExportOnlyData
=
"true"
>
</
ExportSettings
>
<
ClientSettings
EnableRowHoverStyle
=
"True"
Selecting-AllowRowSelect
=
"true"
>
<
DataBinding
EnableCaching
=
"True"
>
</
DataBinding
>
<
Selecting
AllowRowSelect
=
"True"
></
Selecting
>
</
ClientSettings
>
<
MasterTableView
InsertItemPageIndexAction
=
"ShowItemOnCurrentPage"
EnableHeaderContextMenu
=
"True"
CommandItemDisplay
=
"Top"
EditMode
=
"InPlace"
DataKeyNames
=
""
>
<
CommandItemSettings
ShowExportToExcelButton
=
"true"
AddNewRecordText
=
""
ShowAddNewRecordButton
=
"False"
/>
<
Columns
>
</
Columns
>
<
HeaderStyle
Font-Bold
=
"False"
/>
</
MasterTableView
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
/>
</
telerik:RadGrid
>
here is where i am assigning the datatable to grid on button click
this.gvTable.DataSource = dataTable;
Session["DataSource"] = dataTable;
this.gvTable.MasterTableView.DataKeyNames = GetColNames(dataTable); // Gets the column names of the datatable and returns as string[]
this.gvTable.DataBind();
protected void Page_Load(object sender, EventArgs e)
{
}
here is the need datasource
protected void gvTable_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
DataTable dt = this.GridSource;
this.gvTable.DataSource = dt;
this.gvTable.MasterTableView.DataKeyNames = GetColNames(dt);
}
here is the gvTable_UpdateCommand
protected void gvTable_UpdateCommand(object source, Telerik.Web.UI.GridCommandEventArgs e)
{
GridEditableItem editedItem = e.Item as GridEditableItem;
DataTable ordersTable = this.GridSource;
//Locate the changed row in the DataSource
DataRow[] changedRows = ordersTable.Select("col1 = " + editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["col1"].ToString());
//editedItem["Item"].Controls[0]
if (changedRows.Length != 1)
{
this.Label1.Text += "Unable to locate the Order for updating.";
e.Canceled = true;
return;
}
//Update new values
Hashtable newValues = new Hashtable();
e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem);
changedRows[0].BeginEdit();
try
{
foreach (DictionaryEntry entry in newValues)
{
changedRows[0][(string)entry.Key] = entry.Value;
}
changedRows[0].EndEdit();
Label1.Text = "Successfully updated";
}
catch (Exception ex)
{
changedRows[0].CancelEdit();
Label1.Text += "Unable to update Orders. Reason: " + ex.Message;
e.Canceled = true;
}
}
PROBLEM:
editedItem.OwnerTableView.DataKeyValues[editedItem.ItemIndex]["col1"].ToString()
this line in the above function always gives old values, cant figure out why, please help, thanks
i have used the code from this page
http://www.telerik.com/help/aspnet-ajax/grid-updating-inplace-and-editforms.html