| Protected Sub RadDatePicker2_SelectedDateChanged(ByVal sender As Object, ByVal e As Telerik.Web.UI.Calendar.SelectedDateChangedEventArgs) Handles RadDatePicker2.SelectedDateChanged |
| Dim Days As Integer |
| If RadDatePicker2.SelectedDate.Value.Subtract(RadDatePicker1.SelectedDate.Value).Days >= 0 Then |
| Days = RadDatePicker2.SelectedDate.Value.Subtract(RadDatePicker1.SelectedDate.Value).Days |
| For i = 0 To Days Step 1 |
| Dim row As New TableRow |
| Dim cell As New TableCell |
| cell.Text = RadDatePicker1.SelectedDate.Value.AddDays(i) |
| row.Cells.Add(cell) |
| cell = New TableCell |
| Dim timePicker As New Telerik.Web.UI.RadTimePicker |
| timePicker.ID = "TimePickerA" & i |
| timePicker.Skin = "Black" |
| cell.Controls.Add(timePicker) |
| row.Cells.Add(cell) |
| timePicker = New Telerik.Web.UI.RadTimePicker |
| timePicker.ID = "TimePickerB" & i |
| timePicker.Skin = "Black" |
| cell.Controls.Add(timePicker) |
| row.Cells.Add(cell) |
| EventDates.Rows.Add(row) |
| Next |
| End If |
| End Sub |
Hello,
I have a page which contains a grid (1000 cells).
When the page called for the first time, it load in about 0.05 sec, which is good.
Now I need to update the grid every period of time.
I've done so by using radajaxmanager.ajaxrequest. It works fine, but the grid rendering takes about 2 sec, which is bad.
Can any one suggest me how to imporve the grid render time (the period of time browser need to draw the grid ) (grid view state is disabled,I am using paging and cannot go under 10 items, and bandwidth in no factor)?
10x guys.
| public partial class _Default : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| setGridDesign(); |
| this.RadGrid1.DataSource = GetDataFromDB(); |
| } |
| private void setGridDesign() |
| { |
| this.RadGrid1.AutoGenerateColumns = false; |
| this.RadGrid1.Columns.Clear(); |
| this.RadGrid1.Enabled = true; |
| for (int i = 0; i < 100; i++) |
| { |
| GridCheckBoxColumn flightColumn = new GridCheckBoxColumn(); |
| flightColumn.HeaderText = i.ToString(); |
| flightColumn.UniqueName = i.ToString(); |
| flightColumn.ReadOnly = false; |
| this.RadGrid1.Columns.Add(flightColumn); |
| } |
| } |
| protected void RadGrid1_ItemDataBound(object sender, GridItemEventArgs e) |
| { |
| GridDataItem dataItem = e.Item as GridDataItem; |
| if (dataItem != null) |
| { |
| for (int i = 0; i < 100; i++) |
| { |
| (dataItem[i.ToString()].Controls[0] as CheckBox).Checked = true; |
| (dataItem[i.ToString()].Controls[0] as CheckBox).Enabled = true; |
| } |
| } |
| } |
| private string[] GetDataFromDB() |
| { |
| string[] dataSource = null; |
| return (dataSource = new string[20]); |
| } |
| protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e) |
| { |
| setGridDesign(); |
| this.RadGrid1.DataSource = GetDataFromDB(); |
| this.RadGrid1.DataBind(); |
| } |
| DateTime m_ResponseStart = DateTime.Now; |
| DateTime m_ResponseEnd; |
| protected void LabelActionTime_Unload(object sender, EventArgs e) |
| { |
| this.m_ResponseEnd = DateTime.Now; |
| (sender as Literal).Text += (this.m_ResponseEnd - this.m_ResponseStart).TotalSeconds; |
| } |
| } |
| <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication7._Default" %> |
| <%@ 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"> |
| <script language="javascript" type="text/javascript"> |
| var g_RenderingStartTime = new Date(); |
| var g_RenderingEndTime = null; |
| </script> |
| <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> |
| </telerik:RadScriptManager> |
| <telerik:RadAjaxManager OnAjaxRequest="RadAjaxManager1_AjaxRequest" |
| ClientEvents-OnRequestStart="RadAjaxManager1_AjaxRequest_RequestStart" |
| ClientEvents-OnResponseEnd="RadAjaxManager1_AjaxRequest_ResponseEnd" |
| ID="RadAjaxManager1" |
| runat="server" |
| DefaultLoadingPanelID="RadAjaxLoadingPanel1"> |
| <AjaxSettings > |
| <telerik:AjaxSetting AjaxControlID="RadAjaxManager1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Skin="Default"> |
| </telerik:RadAjaxLoadingPanel> |
| <div> |
| <telerik:RadGrid EnableViewState="false" AllowSorting="false" PageSize="10" |
| AllowPaging="true" ID="RadGrid1" |
| runat="server" style="margin-left:auto;margin-right:auto;" |
| Width="100%" OnItemDataBound="RadGrid1_ItemDataBound" |
| HeaderStyle-Wrap="false" > |
| <HeaderStyle Width="60px" /> |
| <PagerStyle Mode="NextPrev" AlwaysVisible="true" /> |
| <MasterTableView TableLayout="Fixed"> |
| </MasterTableView> |
| <PagerStyle Mode="NextPrev" /> |
| </telerik:RadGrid> |
| </div> |
| <telerik:RadCodeBlock runat="server"> |
| <asp:Literal runat="server" EnableViewState="false" ID="LabelActionTime" Text="Page cycle: " |
| OnPreRender="LabelActionTime_Unload"></asp:Literal> |
| Client Render time: <div id="clientRenderTime"></div> |
| <script language="javascript" type="text/javascript"> |
| function RadAjaxManager1_AjaxRequest_ResponseEnd(i_sender, i_args) { |
| g_RenderingEndTime = new Date(); |
| writeclientRenderTime() |
| } |
| function RadAjaxManager1_AjaxRequest_RequestStart(i_sender, i_args) { |
| g_RenderingStartTime = new Date(); |
| } |
| function MillisecondsToDuration(n) { |
| var hms = ""; |
| var dtm = new Date(); |
| dtm.setTime(n); |
| var h = "000" + Math.floor(n / 3600000); |
| var m = "0" + dtm.getMinutes(); |
| var s = "0" + dtm.getSeconds(); |
| var cs = "0" + Math.round(dtm.getMilliseconds() / 10); |
| hhms = h.substr(h.length - 4) + ":" + m.substr(m.length - 2) + ":"; |
| hms += s.substr(s.length - 2) + "." + cs.substr(cs.length - 2); return hms; |
| } |
| function writeclientRenderTime() { |
| var div = $get("clientRenderTime"); |
| div.innerHTML = MillisecondsToDuration(g_RenderingEndTime.getTime() - g_RenderingStartTime.getTime()); |
| } |
| function updateGrid() { |
| var grid = $get("<%= RadGrid1.ClientID %>"); |
| grid.disabled = true; |
| var ajaxManager = $find("<%= RadAjaxManager1.ClientID %>"); |
| ajaxManager.ajaxRequest( "Refresh"); |
| } |
| var g_IntervalID = null; |
| function setRefreshTableIntrval() { |
| g_IntervalID = setInterval("updateGrid()", 6000); |
| } |
| function clearRefreshTableIntrval() { |
| clearInterval(g_IntervalID); |
| } |
| // setaddNewUserIntrval(); |
| setRefreshTableIntrval(); |
| // setaddNewFlightIntrval(); |
| g_RenderingEndTime = new Date(); |
| writeclientRenderTime(); |
| </script> |
| </telerik:RadCodeBlock> |
| </form> |
| </body> |
| </html> |
Dim myReport As ReportServer.PendingReport = New ReportServer.PendingReport
Dim reportProcessor As New Telerik.Reporting.Processing.ReportProcessor()
Dim result As Telerik.Reporting.Processing.RenderingResult = reportProcessor.RenderReport("PDF", myReport, Nothing)
Dim fileName As String = result.DocumentName + ".pdf"
Response.Clear()
Response.ContentType = "Application/pdf"
Response.Cache.SetCacheability(HttpCacheability.Private)
Response.Expires = -1
Response.Buffer = False
Response.AddHeader("Content-Disposition", String.Format("{0};FileName=""{1}""", "attachment", fileName))
Response.OutputStream.Write(result.DocumentBytes, 0, result.DocumentBytes.Length)
Response.End()
Firing this event causes the following error:
Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed.
Common causes for this error are when the response is modified by calls to Response.Write(), response filters,
httpModules, or server trace is enabled. Details: Error parsing near '%PDF-1.6
%
1 0 obj'
Anyone have any idea of how to avoid this other than removing Ajax Manager for the grid?
