My aspx:
<radg:radgrid Skin="Monochrome" ID="rgData" runat="server"
AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" BorderStyle="None" EnableAJAX="True" EnableAJAXLoadingTemplate="True"
GridLines="None" Width="99%" AllowAutomaticDeletes="True" AllowAutomaticInserts="True"
AllowAutomaticUpdates="False" OnUpdateCommand="GridUpdateCommand" OnItemCommand="rgData_ItemCommand">
<MasterTableView CommandItemDisplay="Bottom" PageSize="10">
<PagerStyle Mode="NextPrevAndNumeric" />
<EditFormSettings EditFormType="Template">
<FormStyle CssClass="radEnabledCss_WebBlue" />
<FormTemplate>
<table style="width: 80%" align="center">
<tr>
<td style="width: 15%">Category:</td>
<td style="width: 85%">
<div class='field'>
<radC:RadComboBox ID="cmbCategory" runat="server" Skin="WebBlue" Width="180px"
DataTextField="poptext" DataValueField="MSG_CATEGORY" SelectedValue='<%# Bind("MSG_CATEGORY") %>'>
<Items>
<radC:RadComboBoxItem Text="Select" Value="" />
<radC:RadComboBoxItem Text="Question" Value="Question" />
<radC:RadComboBoxItem Text="Request" Value="Request" />
<radC:RadComboBoxItem Text="Comment" Value="Comment" />
<radC:RadComboBoxItem Text="Other" Value="Other" />
</Items>
</radC:RadComboBox>
</div>
</td>
</tr>
<tr>
<td>Subject:</td>
<td>
<asp:TextBox ID="txtSubject" runat="server" Width="375" Text='<%# Bind("SUBJECT") %>' />
</td>
</tr>
<tr>
<td colspan="2">
<asp:Label ID="lblMessage" runat="server" Text='<%# (Container is GridEditFormInsertItem) ? "Message:" : "Reply:" %>' />
</td>
</tr>
<tr>
<td colspan="2">
<radI:RadTextBox ID="txtBody" runat="server" TextMode="MultiLine" Width="500" Height="100" />
</td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnInsert" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' />
<asp:Button ID="btnCancel" runat="server" Text="Cancel" CommandName="Cancel" />
</td>
</tr>
</table>
</FormTemplate>
</EditFormSettings>
<ExpandCollapseColumn Visible="False" Resizable="False">
<HeaderStyle Width="20px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<Columns>
<radG:GridBoundColumn HeaderText="ID" UniqueName="pk" DataField="CPK_WEB_MESSAGES"
Display="False" ReadOnly="True" />
<radG:GridBoundColumn UniqueName="subject" DataField="subject" Visible="False" ReadOnly="False" />
<radG:GridBoundColumn UniqueName="body" DataField="body" Visible="False" ReadOnly="False" />
<radG:GridBoundColumn HeaderText="Message Source" UniqueName="SOURCE" DataField="web_message_source" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Category" UniqueName="msg_category" DataField="MSG_CATEGORY" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Date Sent" UniqueName="RECEIVED" DataField="received" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Subject / Message" UniqueName="subjectbody" DataField="subjectbody" HeaderButtonType="TextButton" />
<radG:GridBoundColumn HeaderText="Status" UniqueName="msg_status" DataField="msg_status" HeaderButtonType="TextButton" />
<radG:GridButtonColumn ButtonType="PushButton" Text="Reply" CommandName="Edit" UniqueName="edit">
</radG:GridButtonColumn>
<radG:GridButtonColumn ButtonType="PushButton" Text="Delete" CommandName="Delete" UniqueName="delete">
</radG:GridButtonColumn>
</Columns>
<CommandItemTemplate>
<asp:Button ID="btnInsert" CommandName="InitInsert" ImageUrl="~/Images/add_small_off.png"
runat="server" Text="Add Message" />
<asp:Button ID="btnRefresh" CommandName="RebindGrid" ImageUrl="~/Images/refresh_list_off.png"
runat="server" Text="Refresh List" />
</CommandItemTemplate>
</MasterTableView>
<HeaderStyle Font-Bold="True" Font-Size="14px" Font-Underline="False" HorizontalAlign="Left" />
<ItemStyle Font-Size="12px" />
<AlternatingItemStyle Font-Size="12px" />
</radg:radgrid>
My code-behind:
protected void rgData_ItemDataBound(object sender, Telerik.Web.UI.GridItemEventArgs e)
{
if (e.Item is GridEditableItem && e.Item.IsInEditMode) <---This does not work
{
TextBox txtBox = e.Item.FindControl("txtBody") as TextBox;
Session["savedOldBody"] = txtBox.Text;
}
}
protected void GridUpdateCommand(object source, Telerik.WebControls.GridCommandEventArgs e)
{
GridEditableItem editedItem = (GridEditableItem)e.Item;
int iPKey = (int)editedItem.GetDataKeyValue("CPK_WEB_MESSAGES");
Hashtable newValues = new Hashtable();
e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editedItem);
string subject = newValues["SUBJECT"].ToString().Trim();
string body = newValues["txtBody"].ToString().Trim(); <---This does not work
string category = newValues["MSG_CATEGORY"].ToString().Trim();
string orig_body = Session["savedOldBody"].ToString().Trim(); <---This does not work
string strSqlCmd = "exec dbo.wa_Update_Web_Messages " + iPKey.ToString().Trim() + "," + category + ",'" + subject.Replace("'", "''") + "','" + body.Replace("'", "''") + "','Sent'";
DataAccess sda = new DataAccess();
sda.RunSqlCmd(strSqlCmd);
}