I have a page with a RadGrid on it. In that RadGrid I'm using <EditFormSettings EditFormType="Template"> to handle the editing of the data. In that FormTemplate I have a FileUpload control where I'm allowing users to upload a file. I planned on handling the file upload in a seperate function. Problem is trying to get to the FileUpload control. Can someone help me? Code sample below:
<
telerik:RadGrid
ID
=
"rgvwUserList"
runat
=
"server"
AllowAutomaticDeletes
=
"True"
AllowAutomaticInserts
=
"True"
AllowAutomaticUpdates
=
"True"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
AllowSorting
=
"True"
AutoGenerateColumns
=
"False"
CellSpacing
=
"0"
DataSourceID
=
"sdsUserList"
EnableLinqExpressions
=
"False"
GridLines
=
"None"
PageSize
=
"20"
ShowGroupPanel
=
"True"
Width
=
"900px"
>
<
ClientSettings
AllowDragToGroup
=
"True"
/>
<
MasterTableView
AutoGenerateColumns
=
"False"
CommandItemDisplay
=
"None"
DataKeyNames
=
"StaffID"
DataSourceID
=
"sdsUserList"
EditMode
=
"EditForms"
HorizontalAlign
=
"NotSet"
Width
=
"100%"
>
<
Columns
>
<
telerik:GridEditCommandColumn
ButtonType
=
"ImageButton"
HeaderText
=
"Edit"
ItemStyle-HorizontalAlign
=
"Center"
UniqueName
=
"EditCommandColumn"
>
<
ItemStyle
CssClass
=
"MyImageButton"
Wrap
=
"False"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridTemplateColumn
AllowFiltering
=
"False"
>
<
HeaderStyle
HorizontalAlign
=
"Center"
/>
<
HeaderTemplate
>Photo</
HeaderTemplate
>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<
asp:Image
ID
=
"imgPhoto"
runat
=
"server"
ImageUrl='<%#EVAL("PhotoPath") %>' Width="50"/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
DataField
=
"DisplayName"
FilterControlAltText
=
"Filter DisplayName column"
HeaderText
=
"DisplayName"
ItemStyle-Width
=
"20%"
ReadOnly
=
"True"
SortExpression
=
"LastName"
UniqueName
=
"DisplayName"
/>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
div
align
=
"center"
>
<
asp:FileUpload
ID
=
"fuPhotoPath"
runat
=
"server"
SkinID
=
"FileUpload"
Width
=
"290"
/>
<
asp:Button
ID
=
"btnAddPhoto"
runat
=
"server"
CommandArgument='<%#Bind("StaffID")%>' OnCommand="UploadPhoto" SkinID="ButtonLittle" Text="Add"/>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
7 Answers, 1 is accepted
0
Accepted
Jayesh Goyani
Top achievements
Rank 2
answered on 10 Aug 2011, 05:33 AM
Hello,
let me know if any concern.
Thanks,
Jayesh Goyani
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
OnNeedDataSource
=
"RadGrid1_NeedDataSource"
AutoGenerateColumns
=
"False"
AllowSorting
=
"True"
AllowPaging
=
"True"
GridLines
=
"None"
ShowFooter
=
"True"
AllowMultiRowSelection
=
"True"
PageSize
=
"7"
AllowMultiRowEdit
=
"True"
OnInsertCommand
=
"RadGrid1_InsertCommand"
OnUpdateCommand
=
"RadGrid1_UpdateCommand"
>
<
MasterTableView
EditMode
=
"EditForms"
DataKeyNames
=
"ID"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"ID"
HeaderText
=
"ID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridEditCommandColumn
UniqueName
=
"EditColumn"
>
</
telerik:GridEditCommandColumn
>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
div
align
=
"center"
>
<
asp:FileUpload
ID
=
"fuPhotoPath"
runat
=
"server"
Width
=
"290"
/>
<
asp:Button
ID
=
"btnAddPhoto"
runat
=
"server"
Text
=
"Add"
OnClick
=
"btnAddPhoto_Click"
/>
</
div
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
protected
void
RadGrid1_NeedDataSource(
object
sender, GridNeedDataSourceEventArgs e)
{
dynamic data =
new
[] {
new
{ ID = 1, Name =
"Name1"
,TempDate = DateTime.Now},
new
{ ID = 2, Name =
"Name2"
,TempDate = DateTime.Now},
new
{ ID = 3, Name =
"Name3"
,TempDate = DateTime.Now},
new
{ ID = 4, Name =
"Name4"
,TempDate = DateTime.Now},
new
{ ID = 5, Name =
"Name5"
,TempDate = DateTime.Now},
new
{ ID = 6, Name =
"Name6"
,TempDate = DateTime.Now},
new
{ ID = 7, Name =
"Name7"
,TempDate = DateTime.Now},
new
{ ID = 8, Name =
"Name8"
,TempDate = DateTime.Now},
new
{ ID = 9, Name =
"Name9"
,TempDate = DateTime.Now},
new
{ ID = 10, Name =
"Name10"
,TempDate = DateTime.Now},
new
{ ID = 11, Name =
"Name11"
,TempDate = DateTime.Now},
new
{ ID = 12, Name =
"Name12"
,TempDate = DateTime.Now},
new
{ ID = 13, Name =
"Name13"
,TempDate = DateTime.Now},
new
{ ID = 14, Name =
"Name14"
,TempDate = DateTime.Now},
new
{ ID = 15, Name =
"Name15"
,TempDate = DateTime.Now}
};
RadGrid1.DataSource = data;
}
protected
void
RadGrid1_InsertCommand(
object
sender, GridCommandEventArgs e)
{
}
protected
void
RadGrid1_UpdateCommand(
object
sender, GridCommandEventArgs e)
{
}
protected
void
btnAddPhoto_Click(
object
sender, EventArgs e)
{
Button btnAddPhoto = sender
as
Button;
GridEditFormItem item = (GridEditFormItem)btnAddPhoto.NamingContainer;
FileUpload fuPhotoPath = item.FindControl(
"fuPhotoPath"
)
as
FileUpload;
int
ID =Convert.ToInt32(item.GetDataKeyValue(
"ID"
));
///.......do your logic here
}
let me know if any concern.
Thanks,
Jayesh Goyani
0
Shinu
Top achievements
Rank 2
answered on 10 Aug 2011, 05:51 AM
Hello Michael,
Try the following code snippet.
C#:
Thanks,
Shinu.
Try the following code snippet.
C#:
protected
void
RadGrid1_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem item = (GridEditableItem)e.Item;
FileUpload upload = (FileUpload)item.FindControl(
"fuPhotoPath"
);
}
}
Thanks,
Shinu.
0
Michael
Top achievements
Rank 1
answered on 10 Aug 2011, 02:30 PM
Jayesh Goyani, you rock. That worked perfectly!
0
Rohit
Top achievements
Rank 1
answered on 26 May 2015, 12:14 PM
Jayesh Goyani i have same work to do by on page_load() event of the aspx page.
can u help me with it.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 26 May 2015, 05:53 PM
Hello Rohit,
It would be nice if you will do some work in page_prerender event. Because all the control and its value assigned into grid created and itemdatabound event. This event is executed after page-load event.
Let me know if any concern.
http://www.telerik.com/help/aspnet-ajax/grid-event-sequence.html
Thanks,
Jayesh Goyani
0
Rohit
Top achievements
Rank 1
answered on 27 May 2015, 04:31 AM
<
telerik:RadGrid
ID
=
"radgrdFamilyHealth"
runat
=
"server"
Width
=
"98%"
AutoGenerateColumns
=
"false"
OnNeedDataSource
=
"radgrdFamilyHealth_NeedDataSource"
OnUpdateCommand
=
"radgrdFamilyHealth_UpdateCommand"
OnInsertCommand
=
"radgrdFamilyHealth_InsertCommand"
OnItemCommand
=
"radgrdFamilyHealth_ItemCommand"
OnDeleteCommand
=
"radgrdFamilyHealth_DeleteCommand"
OnItemDataBound
=
"radgrdFamilyHealth_ItemDataBound"
>
<
MasterTableView
CommandItemDisplay
=
"Top"
DataKeyNames
=
"FamilyHealthid"
>
<
CommandItemSettings
ShowAddNewRecordButton
=
"true"
/>
<
ColumnGroups
>
<
telerik:GridColumnGroup
HeaderText
=
"If Alive"
Name
=
"IfAlive"
HeaderStyle-HorizontalAlign
=
"Center"
>
</
telerik:GridColumnGroup
>
<
telerik:GridColumnGroup
HeaderText
=
"If Deceased (Y/N)"
Name
=
"IfDeceased"
HeaderStyle-HorizontalAlign
=
"Center"
></
telerik:GridColumnGroup
>
</
ColumnGroups
>
<
Columns
>
<
telerik:GridEditCommandColumn
Visible
=
"false"
ButtonType
=
"ImageButton"
>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"FamilyHealthid"
HeaderText
=
"Sr.No."
SortExpression
=
"FamilyHealthid"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"FamilyHealthid"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Member"
HeaderText
=
"Member"
HeaderStyle-HorizontalAlign
=
"Center"
SortExpression
=
"Member"
UniqueName
=
"Member"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"PresentAge"
HeaderText
=
"Present Age"
SortExpression
=
"PresentAge"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"PresentAge"
ColumnGroupName
=
"IfAlive"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Illness"
HeaderText
=
"Illness"
SortExpression
=
"Illness"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"Illness"
ColumnGroupName
=
"IfAlive"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"YearofDeath"
HeaderText
=
"Year of Death"
SortExpression
=
"YearofDeath"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"YearofDeath"
ColumnGroupName
=
"IfDeceased"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"AgeatDeath"
HeaderText
=
"Age at Death"
SortExpression
=
"AgeatDeath"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"AgeatDeath"
ColumnGroupName
=
"IfDeceased"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CauseofDeath"
HeaderText
=
"Cause of Death"
SortExpression
=
"CauseofDeath"
HeaderStyle-HorizontalAlign
=
"Center"
UniqueName
=
"CauseofDeath"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
Text
=
"Delete"
CommandName
=
"Delete"
HeaderText
=
"Delete"
ButtonType
=
"ImageButton"
/>
</
Columns
>
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
table
id
=
"Table2"
cellspacing
=
"2"
cellpadding
=
"1"
width
=
"100%"
border
=
"0"
rules
=
"none"
style
=
"border-collapse: collapse;"
>
<
tr
>
<
td
>
<
table
id
=
"Table3"
width
=
"100%"
border
=
"0"
class
=
"module"
cellpadding
=
"0px"
cellspacing
=
"0px"
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Member:
</
td
>
<
td
colspan
=
"3"
class
=
"paddingtabletdleft"
>
<
telerik:RadDropDownList
ID
=
"raddrpMember"
runat
=
"server"
SelectedValue='<%# Bind("Member") %>'
AppendDataBoundItems="true" >
<
Items
>
<
telerik:DropDownListItem
Text
=
"Select"
Selected
=
"true"
Value
=
"0"
/>
<
telerik:DropDownListItem
Text
=
"Mr"
Value
=
"Mr"
/>
<
telerik:DropDownListItem
Text
=
"Mrs"
Value
=
"Mrs"
/>
<
telerik:DropDownListItem
Text
=
"Ms"
Value
=
"Ms"
/>
</
Items
>
</
telerik:RadDropDownList
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Present Age
</
td
>
<
td
class
=
"paddingtabletdleft"
colspan
=
"3"
>
<
telerik:RadDropDownList
ID
=
"raddrpPresentAge"
runat
=
"server"
SelectedValue='<%# Bind("PresentAge") %>'
AppendDataBoundItems="true" >
<
Items
>
</
Items
>
</
telerik:RadDropDownList
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Illness
</
td
>
<
td
colspan
=
"3"
class
=
"paddingtabletdleft"
>
<
telerik:RadDropDownList
ID
=
"raddrpIllness"
runat
=
"server"
SelectedValue='<%# Bind("Illness") %>'
AppendDataBoundItems="true" >
<
Items
>
<
telerik:DropDownListItem
Text
=
"Select"
Selected
=
"true"
Value
=
"0"
/>
<
telerik:DropDownListItem
Text
=
"Yes"
Value
=
"Yes"
/>
<
telerik:DropDownListItem
Text
=
"No"
Value
=
"No"
/>
</
Items
>
</
telerik:RadDropDownList
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Year of Death
</
td
>
<
td
colspan
=
"3"
class
=
"paddingtabletdleft"
>
<
telerik:RadTextBox
ID
=
"RadTextBox7"
runat
=
"server"
Text='<%# Bind("YearofDeath") %>'>
</
telerik:RadTextBox
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"4"
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Cause of Death
</
td
>
<
td
colspan
=
"3"
class
=
"paddingtabletdleft"
>
<
telerik:RadTextBox
ID
=
"RadTextBox4"
runat
=
"server"
Text='<%# Bind("CauseofDeath") %>'>
</
telerik:RadTextBox
>
</
td
>
</
tr
> <
tr
>
<
td
colspan
=
"4"
>
</
td
>
</
tr
>
<
tr
>
<
td
class
=
"tdtext paddingtabletdleft"
>
Age at Death
</
td
>
<
td
colspan
=
"3"
class
=
"paddingtabletdleft"
>
<
telerik:RadTextBox
ID
=
"RadTextBox3"
runat
=
"server"
Text='<%# Bind("AgeatDeath") %>'>
</
telerik:RadTextBox
>
</
td
>
</
tr
>
</
table
>
</
td
>
</
tr
>
<
tr
>
<
td
>
</
td
>
</
tr
>
<
tr
>
<
td
align
=
"right"
>
<
asp:Button
ID
=
"btnUpdate"
Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>'
runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'>
</
asp:Button
>
<
asp:Button
ID
=
"btnCancel"
Text
=
"Cancel"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
></
asp:Button
>
</
td
>
</
tr
>
</
table
>
</
FormTemplate
>
</
EditFormSettings
>
</
MasterTableView
>
</
telerik:RadGrid
>
raddrpPresentAge and raddrpMember this two raddropdownlist need to be populated at page load but with the "itemdatabound" it cause issue while editing.
0
Jayesh Goyani
Top achievements
Rank 2
answered on 17 Jun 2015, 07:00 AM
Hello Rohit,
Could you please provide issue detail?
Thanks,
Jayesh Goyani