<
telerik:RadGrid
ID
=
"RGCMnbr"
runat
=
"server"
AutoGenerateColumns
=
"false"
Height
=
"520px"
BorderWidth
=
"1px"
BorderStyle
=
"Solid"
GridLines
=
"None"
BackColor
=
"White"
AllowPaging
=
"True"
PageSize
=
"20"
AllowSorting
=
"True"
OnNeedDataSource
=
"RGCMnbr_OnNeedDataSource"
EnableEmbeddedSkins
=
"false"
ShowGroupPanel
=
"false"
ShowStatusBar
=
"false"
OnItemDataBound
=
"RGCMnbr_ItemDataBound"
OnItemCommand
=
"RGCMnbr_ItemCommand"
MasterTableView-RowIndicatorColumn-Display
=
"false"
OnDetailTableDataBind
=
"RGCMnbr_DetailTableDataBind"
>
<
HeaderStyle
Height
=
"20px"
BackColor
=
"#004000"
Font-Size
=
"8pt"
Font-Bold
=
"True"
ForeColor
=
"White"
HorizontalAlign
=
"Center"
BorderColor
=
"White"
BorderWidth
=
"1px"
/>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
AlternatingItemStyle
BackColor
=
"#F5F5E9"
HorizontalAlign
=
"Center"
/>
<
PagerStyle
BackColor
=
"#F5F5E9"
/>
<
MasterTableView
DataKeyNames
=
"cmId"
Name
=
"Master"
GridLines
=
"None"
ExpandCollapseColumn-ButtonType
=
"ImageButton"
ExpandCollapseColumn-CollapseImageUrl
=
"Images/Right.gif"
ExpandCollapseColumn-ExpandImageUrl
=
"Images/Right.gif"
ExpandCollapseColumn-CommandName
=
"Expand"
>
<
DetailTables
>
<
telerik:GridTableView
Name
=
"Orders"
Width
=
"80%"
DataKeyNames
=
"smId"
>
<
HeaderStyle
Height
=
"15px"
BackColor
=
"#004000"
Font-Size
=
"8pt"
Font-Bold
=
"True"
ForeColor
=
"White"
HorizontalAlign
=
"Center"
BorderColor
=
"White"
BorderWidth
=
"1px"
/>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
AlternatingItemStyle
HorizontalAlign
=
"Center"
/>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"smId"
DataField
=
"smId"
HeaderText
=
"smId"
Visible
=
"false"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"SM Number"
UniqueName
=
"smNumber"
DataField
=
"smNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Sch Imp Date"
DataField
=
"smSchImpDate"
UniqueName
=
"smSchImpDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"SM Status"
DataField
=
"smStatus"
UniqueName
=
"smStatus"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Created Date"
DataField
=
"smCreatedDate"
UniqueName
=
"smCreatedDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Created By"
DataField
=
"smCreatedBy"
UniqueName
=
"smCreatedBy"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approved Date"
DataField
=
"smApprovedDate"
UniqueName
=
"smApprovedDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
UniqueName
=
"EditSMNbr"
CommandName
=
"EditSM"
ButtonType
=
"ImageButton"
ImageUrl
=
"~/Images/edit-icon-v5.gif"
HeaderStyle-Width
=
"5%"
ItemStyle-Width
=
"5%"
>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
UniqueName
=
"DeleteSmNbr"
CommandName
=
"DeleteSM"
ButtonType
=
"ImageButton"
ImageUrl
=
"~/Images/Delete.gif"
HeaderStyle-Width
=
"5%"
ItemStyle-Width
=
"5%"
>
</
telerik:GridButtonColumn
>
</
Columns
>
<
NoRecordsTemplate
>
No SM numbers to dispaly</
NoRecordsTemplate
>
</
telerik:GridTableView
>
</
DetailTables
>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"cmId"
HeaderText
=
"cmId"
DataField
=
"cmId"
Visible
=
"false"
ReadOnly
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CMNumber"
UniqueName
=
"CMNumber"
HeaderText
=
"CM Number"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"CM Type"
DataField
=
"CMType"
UniqueName
=
"CMType"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Dependent Sites"
DataField
=
"DependentSites"
UniqueName
=
"DependentSites"
>
<
ItemTemplate
>
<
asp:LinkButton
Text='<%# Bind("DependentSites") %>' runat="server" ID="lnkDepenSites"
CommandName="Orders"></
asp:LinkButton
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Req Imp Date"
DataField
=
"ReqImpDate"
UniqueName
=
"ReqImpDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"CM Status"
DataField
=
"CMStatus"
UniqueName
=
"CMStatus"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"CM Step Number"
DataField
=
"CMStepNumber"
UniqueName
=
"CMStepNumber"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"CM Step Status"
DataField
=
"CMStepStaus"
UniqueName
=
"CMStepStaus"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Create Date"
DataField
=
"CreatedDate"
UniqueName
=
"CreatedDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Created By"
DataField
=
"CreatedBy"
UniqueName
=
"CreatedBy"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderText
=
"Approved Date"
DataField
=
"ApprovedDate"
UniqueName
=
"ApprovedDate"
DataFormatString
=
"{0:MM/dd/yyyy}"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
UniqueName
=
"EditCMNbr"
CommandName
=
"EditCM"
ImageUrl
=
"~/Images/edit-icon-v5.gif"
ButtonType
=
"ImageButton"
HeaderStyle-Width
=
"3%"
ItemStyle-Width
=
"3%"
>
</
telerik:GridButtonColumn
>
<
telerik:GridButtonColumn
UniqueName
=
"AddSMNbr"
CommandName
=
"AddSM"
ImageUrl
=
"~/Images/add-icon.png"
ButtonType
=
"ImageButton"
HeaderStyle-Width
=
"3%"
ItemStyle-Width
=
"3%"
>
</
telerik:GridButtonColumn
>
</
Columns
>
<
NoRecordsTemplate
> No CM numbers to display</
NoRecordsTemplate
>
</
MasterTableView
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
ScrollHeight
=
"450px"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
if
(e.CommandName ==
"Expand"
)
{
GridDataItem dataItem = (GridDataItem)e.Item;
lblCMNbr.Text = dataItem[
"CMNumber"
].Text.Trim();
lblReqImpDt.Text = dataItem[
"ReqImpDate"
].Text.Trim();
}
I've worked at this for several days and searched for a solution, found several portions and built them all but I still can't figure this simple thing out.
I have an Ajaxified Grid (EnabledAjax="True") in which I have GridTemplateColumn which contains an asp:Image tags to display a thumbnail of the image. The image resides in the filesystem. Works great.
In the EditFormSettings, because I have so many fields, I organize them into RadTabStrip and a RadMultiPage. On the Photos tab, I display the three pictures (Thumbnail, Small and Large Image) in a div along with a RadUpload. I can get the picture to display, my textbox containing the relative path to the image. Works good.
The problem comes during the upload, I select a picture and press the Upload button. Good so far! I catch the server side postback Click event, find the control for the image, get the parent, then set the correct imageURL, the correct relative datapath. All seems to work, but (and here's the problem) it won't change the EditFormSettings page to reflect the changes which should then post to the database or reflect the changes and allow me to press the Update button. It just closes the form and every change is lost and the EditForm closes losing the changes.
Here is my click event:
protected void ButtonUploadThumbnailImage_Click(object sender, EventArgs e)
{
Button btn = (Button)sender;
GridEditFormItem editFormItem = (GridEditFormItem)btn.NamingContainer; //Access the EditFormItem
RadUpload upload = (RadUpload)editFormItem.FindControl("UploadThumbnailImage");
if (upload.UploadedFiles.Count > 0)
{
Image image = (Image)editFormItem.FindControl("ThumbnailImage");
image.ImageUrl = ResolveUrl("~/Images/Products/" + upload.UploadedFiles[0].GetName());
TextBox txt1 = (TextBox)editFormItem.FindControl("txtThumbnailImagePath");
txt1.Text = "~/Images/Products/" + upload.UploadedFiles[0].GetName();
}
}
My html example is:
<
td
valign
=
"top"
align
=
"center"
><
BR
>
<
telerik:RadUpload
ID
=
"UploadThumbnailImage"
runat
=
"server"
Width
=
"250px"
Height
=
"24px"
<BR>
AllowedFileExtensions="jpg,jpeg,png,gif" ControlObjectsVisibility="None"
TargetFolder="~/Images/Products"
<
BR
>
OverwriteExistingFiles="false"
><
BR
>
</
telerik:RadUpload
><
BR
>
<
br
/><
BR
>
<
asp:Button
ID
=
"ButtomUploadThumbnailImage"
runat
=
"server"
Text
=
"Upload"
CommandName
=
"Update"
<BR>
CommandArgument="UploadThumbnailImage"
OnClick="ButtonUploadThumbnailImage_Click" /><
br
/><
BR
>
<
asp:Image
ID
=
"ThumbnailImage"
runat
=
"server"
ImageUrl='<%# ResolveUrl("~"
+ Eval("ThumbnailImageURL"))
%>'<
BR
>
Visible='<%# Eval("ThumbnailImageURL").Equals("") ? false: true %>'
/><
br
/><
BR
>
<
asp:TextBox
ID
=
"txtThumbnailImagePath"
runat
=
"server"
Text='<%#
Eval("ThumbnailImageURL")
%>'<
BR
>
Width="200px"></
asp:TextBox
><
BR
>
</
td
><
BR
><
BR
><
BR
>
How do I display an image using a relative path from the database, allow the user to upload and change the picture (or select one already uploaded) and then reflect the change in the EditForm but not save it to the database until the EditFormSettings Update button is pressed?
Thanks
<
telerik:RadButton
ID
=
"rbTest"
runat
=
"server"
ButtonType
=
"ToggleButton"
Style
=
"padding-left: 25px"
ToggleType
=
"CheckBox"
AutoPostBack
=
"false"
Checked='<%# Test(Eval("Test")) %>'>
<
ToggleStates
>
<
telerik:RadButtonToggleState
PrimaryIconCssClass
=
"rbOk"
/>
<
telerik:RadButtonToggleState
PrimaryIconCssClass
=
"rbCancel"
/>
</
ToggleStates
>
</
telerik:RadButton
>
rbTest.Attributes.Add(
"OnClientCheckedChanged", "return show('0','0')");
It just doesn't seem to be firing.
Any ideas?
Thanks
<
ItemTemplate
>
<
fieldset
style
=
"float: left; width: 270px; height: 110px;"
>
<
div
>
<
asp:ImageButton
ID
=
"imgCategory"
runat
=
"server"
OnClick
=
"imgCategory_Click"
OnDataBinding
=
"imgCategory_DataBind"
CommandArgument='<%# Eval("CategoryId") %>'/>
</
div
>
</
fieldset
>
</
ItemTemplate
>