Hello
I am trying to upload an image file using radgrid. I have followd the binary image upload in grid demo but my application is a bit diffirent and have tried several methods to accomplish this. I am adding my update parameters and data and calling the update method in code behind from the RadGrid_UpdateCommand.
I have tried putting the upload code in the UpdateCommand, DataBount and ItemCreated events but I am getting an error with the parameter and I am not sure if I am going on the right track.
Here is the aspx markup:
and here is the code behind:
I have some duplicated code in the Update, ItemCreated and ItemDataBound events as I am not sure where to go.
Many thanks
Chommy
I am trying to upload an image file using radgrid. I have followd the binary image upload in grid demo but my application is a bit diffirent and have tried several methods to accomplish this. I am adding my update parameters and data and calling the update method in code behind from the RadGrid_UpdateCommand.
I have tried putting the upload code in the UpdateCommand, DataBount and ItemCreated events but I am getting an error with the parameter and I am not sure if I am going on the right track.
Here is the aspx markup:
<telerik:RadGrid ID="rgSlides" runat="server" GridLines="None" Skin="Hay" PageSize="8" |
ClientSettings-Scrolling-SaveScrollPosition="true" AllowPaging="True"> |
<HeaderStyle HorizontalAlign="Left" /> |
<ItemStyle HorizontalAlign="Left" /> |
<AlternatingItemStyle HorizontalAlign="Left" /> |
<ClientSettings EnablePostBackOnRowClick="true"> |
<Selecting AllowRowSelect="true" /> |
</ClientSettings> |
<PagerStyle Mode="NumericPages" /> |
<MasterTableView PageSize="5" AutoGenerateColumns="False" DataKeyNames="OrderID" |
CommandItemDisplay="Top" ShowHeadersWhenNoRecords="true" NoMasterRecordsText="Click New Slide to insert a new slide row." EditMode="PopUp"> |
<Columns> |
<telerik:GridButtonColumn CommandName="DeleteRow" CommandArgument="DeleteRow" HeaderText="" |
Text="Delete" UniqueName="DeleteRow"> |
</telerik:GridButtonColumn> |
<telerik:GridTemplateColumn UniqueName="ID" SortExpression="ID" ReadOnly="true" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="lblID" runat="server" Text='<% #Bind("ID") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="CustomerID" UniqueName="CustomerID" SortExpression="CustomerID" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="lblCustomerID" runat="server" Text='<%#Bind("CustomerID") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="OrderID" UniqueName="OrderID" SortExpression="OrderID" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="lblOrderID" runat="server" Text='<%# Bind("OrderID") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Business Number" UniqueName="BusinessListingNumber" SortExpression="BusinessListingNumber"> |
<ItemTemplate> |
<asp:Label ID="lblBusinessListingNumber" runat="server" Text='<%# Bind("BusinessListingNumber") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Slide ID" UniqueName="SlideID" SortExpression="SlideID"> |
<ItemTemplate> |
<asp:Label ID="lblSlideID" runat="server" Text='<%# Bind("SlideID") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="FileName" UniqueName="FileName" SortExpression="FileName" Visible="false"> |
<ItemTemplate> |
<asp:Label ID="lblFileName" runat="server" Text='<%# Bind("FileName") %>' /> |
</ItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Title" UniqueName="Title" SortExpression="Title"> |
<ItemTemplate> |
<asp:Label ID="lblTitle" runat="server" Text='<%# Bind("Title") %>' /> |
</ItemTemplate> |
<EditItemTemplate> |
<asp:TextBox ID="txtTitle" runat="server" Text='<%# Bind("Title") %>' /> |
</EditItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridTemplateColumn HeaderText="Description" UniqueName="Description" SortExpression="Description"> |
<ItemTemplate> |
<asp:Label ID="lblDescription" runat="server" Text='<%# Bind("Description") %>'></asp:Label> |
</ItemTemplate> |
<EditItemTemplate> |
<asp:TextBox ID="txtDescription" runat="server" Text='<%# Bind("Description") %>' Width="350px" Height="50px" TextMode="MultiLine" /> |
</EditItemTemplate> |
</telerik:GridTemplateColumn> |
<telerik:GridBinaryImageColumn DataField="ImageData" HeaderText="Slide" UniqueName="Upload" ImageAlign="NotSet" |
ImageHeight="80px" ImageWidth="80px" ResizeMode="Fit" DataAlternateTextField="Description" DataAlternateTextFormatString="Image od {0}"> |
<HeaderStyle Width="10%" /> |
</telerik:GridBinaryImageColumn> |
<%--<telerik:GridTemplateColumn Visible="false"> |
<EditItemTemplate> |
<telerik:RadUpload ID="RadUpload1" runat="server"> |
</telerik:RadUpload> |
</EditItemTemplate> |
</telerik:GridTemplateColumn>--%> |
<telerik:GridEditCommandColumn> |
</telerik:GridEditCommandColumn> |
</Columns> |
<EditFormSettings CaptionFormatString="Update Slide Info for SlideID: {0}" CaptionDataField="SlideID" |
FormCaptionStyle-Font-Bold="true" PopUpSettings-Modal="true" PopUpSettings-Height="220" PopUpSettings-Width="450px"> |
<EditColumn UniqueName="EditCommandColumn1" ButtonType="PushButton"> |
</EditColumn> |
</EditFormSettings> |
<PagerStyle Mode="NextPrev" /> |
<CommandItemTemplate> |
<table style="float: left; width: 100%;"> |
<tr> |
<td style="text-align: left"> |
<asp:Button ID="btnInsertNewRecord" runat="server" CommandName="InsertNewRecord" |
Text="New Slide" Width="90px" Height="22px" /> |
</td> |
<td style="text-align: right"> |
<asp:Button ID="btnRefresh" runat="server" CommandName="Refresh" Text="Refresh" Height="22px" /> |
</td> |
</tr> |
</table> |
</CommandItemTemplate> |
</MasterTableView> |
</telerik:RadGrid> |
<br /><br /> |
<asp:Label ID="lblTemplate" runat="server" Text="Template Label"></asp:Label> |
<br /> |
<br /> |
<asp:Label ID="lblSlidesTest" runat="server" ForeColor="Blue" /> |
<asp:SqlDataSource ID="dsSlides" runat="server" ConnectionString="<%$ myconnectionstring %>" |
SelectCommand="admin_Customers_BusinessListings_Slides_SelectSlideInfo_1" SelectCommandType="StoredProcedure" |
InsertCommand="admin_Customers_BusinessListings_Slides_InsertPrimaryInfo" InsertCommandType="StoredProcedure" |
DeleteCommand="admin_Customers_BusinessListings_Slides_DeleteSlideRow_1" DeleteCommandType="StoredProcedure" |
UpdateCommand="admin_Customers_BusinessListings_Slides_UpdateSlideInfo_1" UpdateCommandType="StoredProcedure"> |
<SelectParameters> |
<asp:Parameter Name="CustomerID" /> |
<asp:Parameter Name="OrderID" /> |
<asp:Parameter Name="BusinessListingNumber" /> |
</SelectParameters> |
<InsertParameters> |
<asp:Parameter Name="CustomerID" Type="String" /> |
<asp:Parameter Name="OrderID" Type="String" /> |
<asp:Parameter Name="BusinessListingNumber" Type="Int16" /> |
</InsertParameters> |
<DeleteParameters> |
<asp:Parameter Name="CustomerID" Type="String" /> |
<asp:Parameter Name="OrderID" Type="String" /> |
<asp:Parameter Name="SlideID" Type="String" /> |
<asp:Parameter Name="BusinessListingNumber" Type="Int16" /> |
</DeleteParameters> |
<UpdateParameters> |
<asp:Parameter Name="CustomerID" Type="String" /> |
<asp:Parameter Name="OrderID" Type="String" /> |
<asp:Parameter Name="SlideID" Type="String" /> |
<asp:Parameter Name="BusinessListingNumber" Type="Int16" /> |
<asp:Parameter Name="Title" Type="String" /> |
<asp:Parameter Name="Description" Type="String" /> |
<asp:Parameter Name="ImageData" Type="Byte"/> |
</UpdateParameters> |
</asp:SqlDataSource> |
and here is the code behind:
Protected Sub rgSlides_UpdateCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles rgSlides.UpdateCommand |
If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then |
'Get the value of the controls inside the grid template |
Dim editItem As GridEditableItem = DirectCast(e.Item, GridEditableItem) |
Dim CustomerID As String = TryCast(editItem("CustomerID").FindControl("lblCustomerID"), Label).Text |
Dim OrderID As String = TryCast(editItem("OrderID").FindControl("lblOrderID"), Label).Text |
Dim SlideID As String = TryCast(editItem("SlideID").FindControl("lblSlideID"), Label).Text |
Dim BusListNo As String = TryCast(editItem("BusinessListingNumber").FindControl("lblBusinessListingNumber"), Label).Text |
'Get the value of the controls inside in the edit form |
Dim editFormItem As GridEditFormItem = DirectCast(e.Item, GridEditFormItem) |
Dim Title As String = DirectCast(editFormItem.FindControl("txtTitle"), TextBox).Text |
Dim Desc As String = DirectCast(editFormItem.FindControl("txtDescription"), TextBox).Text |
'Update the slide |
Dim upload As RadUpload = DirectCast(editItem.EditManager.GetColumnEditor("Upload"), GridBinaryImageColumnEditor).RadUploadControl |
'Fill update param's and call update method |
dsSlides.UpdateParameters("CustomerID").DefaultValue = CustomerID |
dsSlides.UpdateParameters("OrderID").DefaultValue = OrderID |
dsSlides.UpdateParameters("SlideID").DefaultValue = SlideID |
dsSlides.UpdateParameters("BusinessListingNumber").DefaultValue = BusListNo |
dsSlides.UpdateParameters("Title").DefaultValue = Title |
dsSlides.UpdateParameters("Description").DefaultValue = Desc |
dsSlides.UpdateParameters("ImageData").DefaultValue = upload |
dsSlides.Update() |
End If |
End Sub |
Protected Sub rgSlides_ItemDataBound(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgSlides.ItemDataBound |
If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then |
Dim editItem As GridEditableItem = DirectCast(e.Item, GridEditableItem) |
Dim upload As RadUpload = DirectCast(editItem.EditManager.GetColumnEditor("Upload"), GridBinaryImageColumnEditor).RadUploadControl |
End If |
End Sub |
Protected Sub rgSlides_ItemCreated(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridItemEventArgs) Handles rgSlides.ItemCreated |
If TypeOf e.Item Is GridEditableItem AndAlso e.Item.IsInEditMode Then |
Dim editItem As GridEditableItem = DirectCast(e.Item, GridEditableItem) |
Dim upload As RadUpload = DirectCast(editItem.EditManager.GetColumnEditor("Upload"), GridBinaryImageColumnEditor).RadUploadControl |
End If |
End Sub |
I have some duplicated code in the Update, ItemCreated and ItemDataBound events as I am not sure where to go.
Many thanks
Chommy