I am trying to save multiple files to my database, and for whatever reason, it is not doing so. Any help will be greatly appreciated.
ASP:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CAF_Detail.aspx.cs" Inherits="DetailViews_CAF_Detail" MasterPageFile="~/EUEMain.master" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<
asp:Content
ID
=
"Content1"
ContentPlaceHolderID
=
"cphLeftNav"
runat
=
"Server"
>
<
asp:HyperLink
ID
=
"HomeLink"
runat
=
"server"
NavigateUrl
=
"..\Default.aspx"
Text
=
"Home"
/>
</
asp:Content
>
<
asp:Content
ID
=
"Content2"
ContentPlaceHolderID
=
"cphContent"
runat
=
"Server"
>
<
h1
>CAF Tracking System</
h1
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
h7
>Please make sure to leave your initials at the end of any comments you make.</
h7
>
<
h5
> </
h5
>
<
telerik:RadCodeBlock
ID
=
"RadCodeBlock2"
runat
=
"server"
>
<
script
type
=
"text/javascript"
>
var manager;
Sys.Application.add_load(function () {
manager = $find('<%= RadAjaxManager.GetCurrent(Page).ClientID %>');
});
</
script
>
</
telerik:RadCodeBlock
>
<
script
type
=
"text/javascript"
src
=
"../DetailViews/Scripts.js"
></
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadGrid2"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGrid2"
LoadingPanelID
=
"RadAjaxLoadingPanel1"
></
telerik:AjaxUpdatedControl
>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxLoadingPanel
ID
=
"RadAjaxLoadingPanel1"
runat
=
"server"
>
</
telerik:RadAjaxLoadingPanel
>
<
div
>
<
telerik:RadGrid
ID
=
"RadGrid2"
DataSourceID
=
"SqlDataSource1"
AllowPaging
=
"False"
Width
=
"100%"
runat
=
"server"
AutoGenerateColumns
=
"False"
AllowSorting
=
"True"
AllowAutomaticInserts
=
"true"
AllowAutomaticUpdates
=
"true"
OnItemDataBound
=
"RadGrid2_ItemDataBound"
OnItemCommand
=
"RadGrid2_ItemCommand"
OnUpdateCommand
=
"RadGrid2_OnUpdateCommand"
>
<
MasterTableView
DataKeyNames
=
"Unique, ChangeLog"
AutoGenerateColumns
=
"False"
CommandItemDisplay
=
"Top"
DataSourceID
=
"SqlDataSource1"
EditMode
=
"EditForms"
>
<
NestedViewTemplate
>
<
asp:Panel
runat
=
"server"
ID
=
"InnerContainer"
Visible
=
"False"
></
asp:Panel
>
<
telerik:RadMultiPage
runat
=
"server"
ID
=
"Multipage1"
SelectedIndex
=
"0"
RenderSelectedPageOnly
=
"False"
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"Details"
>
<
asp:Label
ID
=
"Label1"
Font-Bold
=
"true"
Font-Italic
=
"true"
Text='<%# Bind("Unique") %>'
Visible="False" runat="server"></
asp:Label
>
<
telerik:RadGrid
runat
=
"server"
ID
=
"SubNotesGrid"
DataSourceID
=
"SqlDataSource3"
ShowFooter
=
"true"
AllowSorting
=
"true"
EnableLinqExpressions
=
"false"
>
<
MasterTableView
ShowHeader
=
"true"
AutoGenerateColumns
=
"False"
AllowPaging
=
"true"
DataKeyNames
=
"Unique, Changelog"
PageSize
=
"25"
HierarchyLoadMode
=
"Client"
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Number"
DataField
=
"CAF_Number"
HeaderText
=
"CAF Number"
AllowFiltering
=
"false"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Rev"
DataField
=
"CAF_Rev"
HeaderText
=
"Revision"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Approved"
DataField
=
"CAF_Approved"
HeaderText
=
"Approved"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_System"
DataField
=
"CAF_System"
HeaderText
=
"CAF System"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Build"
DataField
=
"CAF_Build"
HeaderText
=
"Build"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_BNSF"
DataField
=
"CAF_BNSF"
HeaderText
=
"Affecting BNSF"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Desc"
DataField
=
"CAF_Desc"
HeaderText
=
"CAF Description"
AllowFiltering
=
"False"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Post_Date"
DataField
=
"CAF_Post_Date"
HeaderText
=
"Post Date"
DataFormatString
=
"{0:MM/dd/yyyy}"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Due_Date"
DataField
=
"CAF_Due_Date"
HeaderText
=
"Due Date"
DataFormatString
=
"{0:MM/dd/yyyy}"
/>
<
telerik:GridBoundColumn
UniqueName
=
"Target_Date"
DataField
=
"Target_Date"
HeaderText
=
"Target Review Date"
DataFormatString
=
"{0:MM/dd/yyyy}"
/>
<
telerik:GridBoundColumn
UniqueName
=
"Comments"
DataField
=
"Comments"
HeaderText
=
"Comments"
/>
<
telerik:GridBoundColumn
UniqueName
=
"ChangeLog"
DataField
=
"ChangeLog"
HeaderText
=
"ChangeLog"
/>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
<
asp:SqlDataSource
ID
=
"SqlDataSource3"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings: PtcDbModelEntities %>"
SelectCommand="SELECT * FROM [PtcDbTracker].[dbo].[CAFTable] as t0
Inner join [PtcDbTracker].[dbo].[CafFileTable] as t1 on t0.[Unique] = t1.[Unique1] where t0.[Unique] = @Unique">
<
SelectParameters
>
<
asp:ControlParameter
ControlID
=
"Label1"
Name
=
"Unique"
/>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
</
NestedViewTemplate
>
<
Columns
>
<
telerik:GridEditCommandColumn
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Number"
DataField
=
"CAF_Number"
HeaderText
=
"CAF Number"
AllowFiltering
=
"false"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"CAF_Desc"
DataField
=
"CAF_Desc"
HeaderText
=
"Description"
AllowFiltering
=
"False"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"caf_desc"
Text='<%# Bind("CAF_Desc") %>' Width="350px"></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:TextBox
runat
=
"server"
ID
=
"CAF_Desc_TextBox"
Width
=
"300px"
Height
=
"75px"
Text='<%# Bind("CAF_Desc") %>' Wrap="True" TextMode="MultiLine"></
asp:TextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"CAF_System"
Visible
=
"False"
HeaderText
=
"System"
>
<
EditItemTemplate
>
<
asp:DropDownList
ID
=
"Label6"
runat
=
"server"
SelectedValue='<%# Bind("CAF_System") %>'
DataSource='<%# (new[] { "OB", "BOS", "EM"}) %>'
AppendDataBoundItems="True"
CausesValidation="False">
<
asp:ListItem
Selected
=
"True"
Text
=
"Select"
Value
=
""
>
</
asp:ListItem
>
</
asp:DropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Rev"
DataField
=
"CAF_Rev"
HeaderText
=
"Revision"
Visible
=
"True"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"Comments"
DataField
=
"Comments"
HeaderText
=
"Comments"
AllowFiltering
=
"False"
Visible
=
"False"
>
<
EditItemTemplate
>
<
asp:TextBox
runat
=
"server"
ID
=
"Comments_TextBox"
Width
=
"400px"
Height
=
"150px"
Text='<%# Bind("Comments") %>' Wrap="True" TextMode="MultiLine"></
asp:TextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridDateTimeColumn
UniqueName
=
"CAF_Post_Date"
DataField
=
"CAF_Post_Date"
PickerType
=
"DatePicker"
HeaderText
=
"Post Date"
Visible
=
"False"
/>
<
telerik:GridDateTimeColumn
UniqueName
=
"CAF_Due_Date"
DataField
=
"CAF_Due_Date"
PickerType
=
"DatePicker"
Visible
=
"False"
HeaderText
=
"Due Date"
/>
<
telerik:GridDateTimeColumn
UniqueName
=
"Target_Date"
DataField
=
"Target_Date"
PickerType
=
"DatePicker"
Visible
=
"True"
HeaderText
=
"Target Review Date"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CAF_Build"
DataField
=
"CAF_Build"
Visible
=
"False"
HeaderText
=
"Build"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"CAF_BNSF"
Visible
=
"True"
HeaderText
=
"Affecting BNSF"
>
<
EditItemTemplate
>
<
asp:DropDownList
ID
=
"Label5"
runat
=
"server"
SelectedValue='<%# Bind("CAF_BNSF") %>'
DataSource='<%# (new[] { "None", "Low", "Medium", "High"}) %>'
AppendDataBoundItems="True"
CausesValidation="False">
<
asp:ListItem
Selected
=
"True"
Text
=
"Select"
Value
=
""
>
</
asp:ListItem
>
</
asp:DropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"CAF_Approved"
DataField
=
"CAF_Approved"
Visible
=
"True"
HeaderText
=
"Approved"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"caf_approved"
Text='<%#Bind("CAF_Approved") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
asp:DropDownList
ID
=
"Label12"
runat
=
"server"
SelectedValue='<%# Bind("CAF_Approved") %>'
DataSource='<%# (new[] { "Approved", "Not Approved"}) %>'
AppendDataBoundItems="True"
CausesValidation="False">
<
asp:ListItem
Selected
=
"True"
Text
=
"Select"
Value
=
""
>
</
asp:ListItem
>
</
asp:DropDownList
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridAttachmentColumn
SortExpression
=
"FileName"
UploadControlType
=
"RadAsyncUpload"
DataSourceID
=
"SqlDataSource5"
EditFormHeaderTextFormat
=
"Upload File:"
HeaderText
=
"Attachment Column"
AttachmentDataField
=
"BinaryData"
AttachmentKeyFields
=
"Unique"
FileNameTextField
=
"FileName"
DataTextField
=
"FileName"
UniqueName
=
"AttachmentColumn"
/>
<
telerik:GridBoundColumn
UniqueName
=
"ChangeLog"
DataField
=
"ChangeLog"
HeaderText
=
"ChangeLog"
ReadOnly
=
"True"
Visible
=
"True"
/>
<%-- <
telerik:GridAttachmentColumn
SortExpression
=
"FileName2"
UploadControlType
=
"RadAsyncUpload"
DataSourceID
=
"SqlDataSource6"
EditFormHeaderTextFormat
=
"Upload File:"
HeaderText
=
"Additional Attachment"
AttachmentDataField
=
"BinaryData2"
AttachmentKeyFields
=
"Unique"
FileNameTextField
=
"FileName2"
DataTextField
=
"FileName2"
UniqueName
=
"AttachmentColumn2"
/>--%>
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
ClientEvents
OnCommand
=
"gridCommand"
></
ClientEvents
>
</
ClientSettings
>
</
telerik:RadGrid
>
<
br
/>
</
div
>
<%--OnInserted="SqlDataSource2_Inserted"
OnUpdated="SqlDataSource2_Updated"--%>
<
asp:SqlDataSource
ID
=
"SqlDataSource1"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings: PtcDbModelEntities %>"
InsertCommand="INSERT INTO [PtcDbTracker].[dbo].[CAFTable] ([CAF_Number], [CAF_System], [CAF_Rev], [CAF_Build], [CAF_BNSF], [CAF_Desc], [Comments]
, [CAF_Post_Date], [CAF_Due_Date], [Target_Date], [CAF_Approved])
VALUES (@CAF_Number, @CAF_System, @CAF_Rev, @CAF_Build, @CAF_BNSF, @CAF_Desc, @Comments, @CAF_Post_Date, @CAF_Due_Date, @Target_Date, @CAF_Approved) SET @InsertedID = SCOPE_IDENTITY()"
SelectCommand="SELECT * FROM [PtcDbTracker].[dbo].[CAFTable] as t0
Inner join [PtcDbTracker].[dbo].[CafFileTable] as t1 on t0.[Unique] = t1.Unique1 Order By [CAF_Number] DESC, [CAF_Rev] DESC"
UpdateCommand="UPDATE [PtcDbTracker].[dbo].[CAFTable]
SET [CAF_Number] = @CAF_Number
, [CAF_System] = @CAF_System
, [CAF_Rev] = @CAF_Rev
, [CAF_Build] = @CAF_Build
, [CAF_BNSF] = @CAF_BNSF
, [CAF_Desc] = @CAF_Desc
, [Comments] = @Comments
, [CAF_Due_Date] = @CAF_Due_Date
, [CAF_Post_Date] = @CAF_Post_Date
, [CAF_Approved] = @CAF_Approved
WHERE [Unique] = @Unique">
<
DeleteParameters
>
<
asp:Parameter
Name
=
"Unique"
Type
=
"Int32"
></
asp:Parameter
>
</
DeleteParameters
>
<
InsertParameters
>
<
asp:Parameter
Name
=
"CAF_Number"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_System"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Rev"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Build"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_BNSF"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_DESC"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"Comments"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Post_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Due_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"Target_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Approved"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ChangeLog"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"InsertedID"
Type
=
"Int32"
Direction
=
"Output"
></
asp:Parameter
>
</
InsertParameters
>
<
UpdateParameters
>
<
asp:Parameter
Name
=
"CAF_Number"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_System"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Rev"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Build"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_BNSF"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_DESC"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"Comments"
Type
=
"String"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Post_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Due_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"Target_Date"
DbType
=
"Date"
></
asp:Parameter
>
<
asp:Parameter
Name
=
"CAF_Approved"
Type
=
"String"
/>
<
asp:Parameter
Name
=
"ChangeLog"
Type
=
"String"
/>
</
UpdateParameters
>
</
asp:SqlDataSource
>
<
asp:SqlDataSource
ID
=
"SqlDataSource5"
runat
=
"server"
ConnectionString="<%$ ConnectionStrings:PtcDbModelEntities %>"
SelectCommand="SELECT t1.[Unique1], t1.[BinaryData] FROM [PtcDbTracker].[dbo].[CAFTable] as t0
Inner join [PtcDbTracker].[dbo].[CafFileTable] as t1 on t0.[Unique] = t1.Unique1 WHERE t1.[Unique1] = @Unique">
<
SelectParameters
>
<
asp:Parameter
Name
=
"Unique"
Type
=
"Int32"
></
asp:Parameter
>
</
SelectParameters
>
</
asp:SqlDataSource
>
</
asp:Content
>
And C#:
using
System.Collections;
using
System.Runtime.InteropServices;
using
System.Text;
using
Telerik.Web.UI;
using
System;
using
xi = Telerik.Web.UI.ExportInfrastructure;
using
System.Web.UI.WebControls;
using
System.Configuration;
using
System.Data.SqlClient;
using
System.IO;
using
MultipleFileSelection = Telerik.Web.UI.AsyncUpload.MultipleFileSelection;
public
partial
class
DetailViews_CAF_Detail : BNSF.EUECommonApplication.EUEBasePage
{
int
fileId;
byte
[] fileData;
string
fileName;
string
mystring1;
private
string
oldChangeLogValue;
protected
void
Page_Load(
object
sender, EventArgs e)
{
if
(!Page.IsPostBack)
{
}
}
protected
void
RadGrid2_ItemDataBound(
object
sender, GridItemEventArgs e)
{
var editItem = e.Item
as
GridEditFormItem;
if
(editItem !=
null
&& editItem.IsInEditMode)
{
var datePicker = editItem[
"CAF_Post_Date"
].Controls[0]
as
RadDatePicker;
datePicker.Width = Unit.Pixel(100);
var datePicker2 = editItem[
"CAF_Due_Date"
].Controls[0]
as
RadDatePicker;
datePicker2.Width = Unit.Pixel(100);
var datePicker3 = editItem[
"Target_Date"
].Controls[0]
as
RadDatePicker;
datePicker3.Width = Unit.Pixel(100);
var attachment = editItem[
"AttachmentColumn"
].Controls[0]
as
RadAsyncUpload;
attachment.MultipleFileSelection = MultipleFileSelection.Automatic;
}
}
protected
void
RadAsyncUpload1_FileUploaded1(
object
sender, FileUploadedEventArgs e)
{
string
path = Server.MapPath(
"~/Uploads/"
);
e.File.SaveAs(path + e.File.GetName());
}
protected
void
SqlDataSource2_Inserted(
object
sender, SqlDataSourceStatusEventArgs e)
{
var mystring =
new
StringBuilder();
mystring.Append(EUEUser.DisplayName +
' '
+ DateTime.Now);
fileId = (
int
)e.Command.Parameters[
"@InsertedID"
].Value;
UpdateFileData(
"UPDATE [PtcDbTracker].[dbo].[CAFTable] SET [ChangeLog] = @Changelog WHERE [Unique] = @Unique"
, fileId, mystring.ToString());
}
protected
void
SqlDataSource2_Updated(
object
sender, SqlDataSourceStatusEventArgs e)
{
var mystring =
new
StringBuilder(oldChangeLogValue +
"<br />"
);
mystring.AppendLine(EUEUser.DisplayName +
' '
+ DateTime.Now);
UpdateFileData(
"UPDATE [PtcDbTracker].[dbo].[CAFTable] SET [ChangeLog] = @ChangeLog WHERE [Unique] = @Unique"
, fileId, mystring.ToString());
}
private
void
UpdateFileData(
string
command,
int
fileId,
string
mystring)
{
using
(SqlConnection conn =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"PtcDbModelEntities"
].ConnectionString))
{
using
(SqlCommand comm =
new
SqlCommand(command, conn))
{
if
(fileData !=
null
&& fileData.Length > 0)
{
//comm.Parameters.Add(new SqlParameter("Unique", fileId));
//comm.Parameters.Add(new SqlParameter("BinaryData", fileData));
//comm.Parameters.Add(new SqlParameter("FileName", fileName));
comm.Parameters.Add(
new
SqlParameter(
"ChangeLog"
, mystring));
conn.Open();
comm.ExecuteNonQuery();
}
}
}
}
protected
void
RadGrid2_ItemCommand(
object
source, GridCommandEventArgs e)
{
var mystring =
new
StringBuilder(oldChangeLogValue +
"<br />"
);
mystring.AppendLine(EUEUser.DisplayName +
' '
+ DateTime.Now);
if
(e.CommandName == RadGrid.UpdateCommandName ||
e.CommandName == RadGrid.PerformInsertCommandName)
{
var item = e.Item
as
GridEditableItem;
if
(!(item
is
GridEditFormInsertItem))
{
fileId = (
int
)item.GetDataKeyValue(
"Unique"
);
}
var asyncUpload = item[
"AttachmentColumn"
].Controls[0]
as
RadAsyncUpload;
if
(asyncUpload !=
null
&& asyncUpload.UploadedFiles.Count > 0)
{
var uploadedFile = asyncUpload.UploadedFiles[0];
fileData =
new
byte
[uploadedFile.ContentLength];
fileName = uploadedFile.FileName;
using
(Stream str = uploadedFile.InputStream)
{
str.Read(fileData, 0, (
int
)uploadedFile.ContentLength);
}
foreach
(UploadedFile file
in
asyncUpload.UploadedFiles)
{
byte
[] bytes =
new
byte
[file.ContentLength];
using
(
SqlConnection conn1 =
new
SqlConnection(
ConfigurationManager.ConnectionStrings[
"PtcDbModelEntities"
].ConnectionString))
{
using
(
SqlCommand comm1 =
new
SqlCommand(
"Insert into [PtcDbTracker].[dbo].[CAFFileTable] ([Unique1], [BinaryData], [FileName]) Values (?,?,?)"
,
conn1))
{
comm1.Parameters.AddWithValue(
"@Unique1"
, fileId);
comm1.Parameters.AddWithValue(
"@BinaryData"
, bytes);
comm1.Parameters.AddWithValue(
"@FileName"
, fileName);
}
}
}
}
}
}
protected
void
RadGrid2_OnUpdateCommand(
object
sender, GridCommandEventArgs e)
{
oldChangeLogValue = (e.Item
as
GridEditableItem).GetDataKeyValue(
"ChangeLog"
).ToString();
}
}