Folks
Enviromnent: VS 2010 with RadControls for ASP.NET AJAX Q2 2011 SP1. I am using below link as a prototype for my project.
http://demos.telerik.com/aspnet-ajax/grid/examples/generalfeatures/gridattachmentcolumn/defaultcs.aspx
In my project, Download options works if they are not inside edit table. Below declarations works.
<
div
style
=
"margin-bottom: 5px;"
>
<
telerik:RadComboBox
ID
=
"FileNamesComboBox1"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
DataTextField
=
"FileName"
DataValueField
=
"ID"
CssClass
=
"rgExpXLS"
>
</
telerik:RadComboBox
>
<
asp:LinkButton
ID
=
"LinkButton_Dwnload"
runat
=
"server"
OnClick
=
"DownloadButton_Click"
Text
=
"DownLoad"
></
asp:LinkButton
>
</
div
>
protected void DownloadButton_Click(object sender, EventArgs e)
{
int attachmentId = Int32.Parse(FileNamesComboBox1.SelectedValue);
string fileName = FileNamesComboBox1.SelectedItem.Text;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TelerikConnectionString"].ConnectionString);
SqlCommand comm = new SqlCommand("SELECT [BinaryData] FROM [FileData] WHERE [ID] = @ID", conn);
comm.Parameters.Add(new SqlParameter("@ID", attachmentId));
SqlDataAdapter adapter = new SqlDataAdapter(comm);
DataSet data = new DataSet();
adapter.Fill(data);
byte[] binaryData = (byte[])data.Tables[0].Rows[0]["BinaryData"];
int ii = attachmentId;
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
Response.BinaryWrite(binaryData);
Response.End();
}
__________________________
But if the download options are within Edit Table, it does not work. Declaration and code:
<
EditFormSettings
EditFormType
=
"Template"
>
<
FormTemplate
>
<
table
id
=
"Table2"
cellspacing
=
"2"
cellpadding
=
"1"
width
=
"100%"
border
=
"0"
rules
=
"none"
style
=
"border-collapse: collapse; background: white;"
>
<
tr
>
<
td
>
<
div
style
=
"margin-bottom: 5px;"
>
<
telerik:RadComboBox
ID
=
"FileNamesComboBox"
runat
=
"server"
DataSourceID
=
"SqlDataSource1"
DataTextField
=
"FileName"
DataValueField
=
"ID"
>
</
telerik:RadComboBox
>
<
asp:LinkButton
ID
=
"LinkButtonEditTable"
runat
=
"server"
OnClick
=
"DownloadLinkButtonEditTable_Click"
Text
=
"Download from Edit Table"
Font-Size
=
"Medium"
ForeColor
=
"Red"
></
asp:LinkButton
>
</
div
>
</
td
>
</
tr
>
</
table
>
</
FormTemplate
>
</
EditFormSettings
>
protected void DownloadLinkButtonEditTable_Click(object sender, EventArgs e)
{
LinkButton btn = sender as LinkButton;
if (btn.NamingContainer is GridEditableItem )
{
// Edit mode
GridEditableItem container = (GridEditableItem)btn.NamingContainer;
RadComboBox SLurlComboBox = (RadComboBox)container.FindControl("FileNamesComboBox");
int attachmentId = Int32.Parse(SLurlComboBox.SelectedValue);
int ii = attachmentId;
string fileName = SLurlComboBox.SelectedItem.Text;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["TelerikConnectionString"].ConnectionString);
SqlCommand comm = new SqlCommand("SELECT [BinaryData] FROM [FileData] WHERE [ID] = @ID", conn);
comm.Parameters.Add(new SqlParameter("@ID", attachmentId));
SqlDataAdapter adapter = new SqlDataAdapter(comm);
DataSet data = new DataSet();
adapter.Fill(data);
byte[] binaryData = (byte[])data.Tables[0].Rows[0]["BinaryData"];
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AddHeader("content-disposition", "attachment; filename=" + fileName);
Response.BinaryWrite(binaryData);
Response.End();
}
}
My project requires download be done within Edit Table. Attached is the error message while trying to download from Edit Table;
Any help will be appreciated. Thanks
gc_0620
Hi everyone,
I've a small issue with my radgrids. This is the scenario
2 radgrids in the page: the first one with "temporary" records, while the second one with the "confirmed" records. In the first grid there's a commandbutton in the footer which allows the user to confirm, in one click, all the records. When the user confirms, then I need to refresh the 2 radgrids and I've achieved this task by writing this piece of code:
<
telerik:AjaxSetting
AjaxControlID
=
"RadAjaxManager1"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridSales"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadGridSoldlConfirmed"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test_listbox.aspx.vb" Inherits="test_listbox" %>
<%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html
xmlns
=
"http://www.w3.org/1999/xhtml"
>
<
head
runat
=
"server"
>
<
title
></
title
>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
><
telerik:RadScriptManager
ID
=
"RSM"
runat
=
"server"
/>
<
telerik:RadListBox
ID
=
"RadListBox1"
runat
=
"server"
AllowTransfer
=
"true"
EnableDragAndDrop
=
"true"
AutoPostBackOnTransfer
=
"true"
Height
=
"200px"
SelectionMode
=
"Multiple"
OnTransferred
=
"RadListBox1_Transferred"
TransferToID
=
"RadListBox2"
Width
=
"215px"
>
<
ButtonSettings
ShowTransferAll
=
"false"
VerticalAlign
=
"Middle"
/>
<
ItemTemplate
>
<
span
class
=
"product-title"
>
<%# DataBinder.Eval(Container, "Text")%></
span
> <
span
class
=
"bearing"
>1 bearing</
span
>
</
ItemTemplate
>
<
Items
>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 1"
Value
=
"reel1_thumb.png"
Price
=
"99"
Selected
=
"true"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 2"
Value
=
"reel2_thumb.png"
Price
=
"199"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 3"
Value
=
"reel3_thumb.png"
Price
=
"99"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 4"
Value
=
"reel4_thumb.png"
Price
=
"299"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 5"
Value
=
"reel5_thumb.png"
Price
=
"199"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 6"
Value
=
"reel6_thumb.png"
Price
=
"99"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 7"
Value
=
"reel7_thumb.png"
Price
=
"299"
/>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 8"
Value
=
"reel8_thumb.png"
Price
=
"199"
/>
</
Items
>
</
telerik:RadListBox
>
<
telerik:RadListBox
runat
=
"server"
EnableDragAndDrop
=
"true"
ID
=
"RadListBox2"
Height
=
"200px"
Width
=
"270px"
SelectionMode
=
"Multiple"
>
<
ItemTemplate
>
<
span
class
=
"detail-title"
>
<%# DataBinder.Eval(Container, "Text")%></
span
>
<
ul
class
=
"details"
>
<
li
>
<
label
>
Price:</
label
>
<
span
>
<%# Convert.ToInt32(DataBinder.Eval(Container, "Attributes['Price']")).ToString("C0") %></
span
>
</
li
>
<
li
>
<
label
>
Quantity:</
label
>
<
telerik:RadNumericTextBox
runat
=
"server"
ID
=
"QuantityTextBox"
Width
=
"40px"
MinValue
=
"1"
MaxValue
=
"10"
ShowSpinButtons
=
"true"
Value
=
"1"
NumberFormat-DecimalDigits
=
"0"
/>
</
li
>
</
ul
>
</
ItemTemplate
>
<
Items
>
<
telerik:RadListBoxItem
Text
=
"Spinning Reel 9"
Value
=
"reel9.png"
Price
=
"99"
/>
</
Items
>
</
telerik:RadListBox
>
</
form
>
</
body
>
</
html
>
Imports
Telerik.Web.UI
Partial
Class
test_listbox
Inherits
System.Web.UI.Page
Protected
Sub
Page_Load(
ByVal
sender
As
Object
,
ByVal
e
As
EventArgs)
Handles
Me
.Load
If
Not
Page.IsPostBack
Then
RadListBox1.DataBind()
RadListBox2.DataBind()
End
If
End
Sub
Protected
Sub
RadListBox1_Transferred(
ByVal
sender
As
Object
,
ByVal
e
As
RadListBoxTransferredEventArgs)
For
Each
item
As
RadListBoxItem
In
e.Items
'Update the image
If
e.SourceListBox
Is
RadListBox1
Then
item.Value = item.Value.Replace(
"_thumb"
,
""
)
Else
item.Value = item.Value.Replace(
".png"
,
"_thumb.png"
)
End
If
'Databind the item in order to evaluate the databinding expressions from the template
item.DataBind()
Next
End
Sub
End
Class
Response.Redirect(ConfigurationManager.AppSettings(
"SSOLogin"
) &
"?Source="
& Request.Url.ToString)
If
Page.IsCallback
Then
Response.Clear()
Response.StatusCode = 302
Response.Status =
"302 Moved Temporarily"
Response.RedirectLocation = ConfigurationManager.AppSettings(
"SSOLogin"
) &
"?Source="
& Request.Url.ToString
Response.
End
()
Else
Response.Redirect(ConfigurationManager.AppSettings(
"SSOLogin"
) &
"?Source="
& Request.Url.ToString)
End
If