or
var mymultiplier = MasterTable.getCellByColumnUniqueName(dataItem, 'Multiplier');
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(initRequest);
function initRequest(sender, args) {
if (args.get_postBackElement().id.indexOf("btn_ExcelExport") != -1) {
args.set_cancel(true); //stop async request
sender._form["__EVENTTARGET"].value = args.get_postBackElement().id.replace(/\_/g, "$");
sender._form["__EVENTARGUMENT"].value = "";
sender._form.submit();
return;
}
}
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rg_Clients"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"rg_Clients"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadGrid
ID
=
"rg_Clients"
runat
=
"server"
AllowFilteringByColumn
=
"True"
AllowPaging
=
"True"
ActiveItemStyle-BackColor
=
"#004070"
ActiveItemStyle-ForeColor
=
"White"
AllowSorting
=
"True"
CellSpacing
=
"0"
GridLines
=
"Both"
OnNeedDataSource
=
"rg_Clients_NeedDataSource"
Skin
=
"WebBlue"
OnItemCommand
=
"rg_Clients_ItemCommand"
AutoGenerateColumns
=
"false"
EnableLinqExpressions
=
"false"
HeaderStyle-Font-Bold
=
"true"
OnColumnCreating
=
"rg_Clients_ColumnCreating"
GroupingSettings-CaseSensitive
=
"false"
OnPreRender
=
"rg_Clients_PreRender"
>
<
MasterTableView
AutoGenerateColumns
=
"false"
AllowFilteringByColumn
=
"True"
>
<
Columns
>
<
telerik:GridTemplateColumn
AllowFiltering
=
"false"
UniqueName
=
"ClientID"
HeaderStyle-Width
=
"40px"
ItemStyle-HorizontalAlign
=
"Left"
HeaderStyle-HorizontalAlign
=
"Left"
>
<
HeaderTemplate
>
<
asp:ImageButton
ID
=
"btn_ExcelExport"
runat
=
"server"
ImageUrl
=
"~/Images/Excel-icon.png"
Width
=
"30"
Height
=
"30"
OnClick
=
"btn_ExcelExport_Click"
CausesValidation
=
"false"
/>
</
HeaderTemplate
>
<
ItemTemplate
>
<
asp:Button
ID
=
"btn_View"
CommandName
=
"Select"
CommandArgument='<%# DataBinder.Eval(Container.DataItem,"ClientID") %>'
runat="server" Text="View" />
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
ExportSettings
Excel-Format
=
"ExcelML"
FileName
=
"ClientExport"
IgnorePaging
=
"true"
OpenInNewWindow
=
"true"
ExportOnlyData
=
"true"
/>
</
telerik:RadGrid
>
protected
void
btn_ExcelExport_Click(
object
sender, ImageClickEventArgs e)
{
string
[] UserRoles = Roles.GetRolesForUser();
rg_Clients.MasterTableView.GetColumn(
"ClientID"
).Visible =
false
;
//Dont need to see the filter boxes in the excel sheet
foreach
(GridFilteringItem Filter
in
rg_Clients.MasterTableView.GetItems(GridItemType.FilteringItem))
Filter.Visible =
false
;
//Data Admin and Site Admin can export all Clients, Sales Admin can export their own and who they are supervising,
// and Sales Person can only export their own
if
(UserRoles.Contains(
"Sales Admin"
))
{
string
Source = PageController.GetUserFullName((Guid)Membership.GetUser().ProviderUserKey);
List<
string
> Sources = ClientController.GetSupervisorSources((Guid)Membership.GetUser().ProviderUserKey);
if
(rg_Clients.MasterTableView.FilterExpression != String.Empty)
rg_Clients.MasterTableView.FilterExpression +=
"AND "
;
string
QueryFilter =
"([Sources] LIKE \'%"
+ Source +
"%\') "
;
foreach
(
string
S
in
Sources)
QueryFilter +=
"OR ([Sources] LIKE \'%"
+ S +
"%\') "
;
rg_Clients.MasterTableView.FilterExpression += QueryFilter;
}
else
if
(UserRoles.Contains(
"Sales Person"
))
{
string
Source = PageController.GetUserFullName((Guid)Membership.GetUser().ProviderUserKey);
if
(rg_Clients.MasterTableView.FilterExpression != String.Empty)
rg_Clients.MasterTableView.FilterExpression +=
"AND "
;
rg_Clients.MasterTableView.FilterExpression +=
"([Sources] LIKE \'%"
+ Source +
"%\') "
;
}
rg_Clients.MasterTableView.ExportToExcel();
<
telerik:RadGrid
ID
=
"RadGrid1"
Width
=
"100%"
Height
=
"400px"
Skin
=
"Office2010Black"
runat
=
"server"
>
<
mastertableview
autogeneratecolumns
=
"false"
allowsorting
=
"true"
allowpaging
=
"true"
pagesize
=
"5"
datakeynames
=
"Id"
clientdatakeynames
=
"Id"
>
<
Columns
>
<
telerik:GridButtonColumn
UniqueName
=
"RowSelector1"
CommandName
=
"Select"
CommandArgument
=
""
ButtonType
=
"ImageButton"
Text
=
"Open demand"
ImageUrl
=
"~/styles/images/icon/playblue_16x16.png"
HeaderStyle-Width
=
"25px"
Resizable
=
"false"
/>
<
telerik:GridBoundColumn
DataField
=
"Id"
HeaderText
=
"Id"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Description"
HeaderText
=
"Description"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Street"
HeaderText
=
"Street"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"ZipCode"
HeaderText
=
"ZipCode"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"City"
HeaderText
=
"City"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Picture"
HeaderText
=
"Picture"
AllowSorting
=
"true"
>
</
telerik:GridBoundColumn
>
</
Columns
>
<
PagerStyle
AlwaysVisible
=
"true"
Mode
=
"NextPrevAndNumeric"
SEOPagingQueryStringKey
=
"PageId"
EnableSEOPaging
=
"true"
/>
</
mastertableview
>
<
clientsettings
allowcolumnhide
=
"true"
allowcolumnsreorder
=
"false"
allowdragtogroup
=
"false"
allowexpandcollapse
=
"true"
allowgroupexpandcollapse
=
"true"
enablepostbackonrowclick
=
"false"
enablerowhoverstyle
=
"true"
reordercolumnsonclient
=
"true"
>
<
ClientEvents
OnRowDblClick
=
"prvOnRadGrid1_RowDblClick"
/>
<
Resizing
AllowColumnResize
=
"true"
ShowRowIndicatorColumn
=
"true"
/>
<
Selecting
AllowRowSelect
=
"true"
/>
<
Scrolling
ScrollHeight
=
"100%"
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
SaveScrollPosition
=
"true"
FrozenColumnsCount
=
"0"
/>
</
clientsettings
>
</
telerik:RadGrid
>
Tours | agencyname | dtMonthno | dtMonthBrand | dtYear | |
6 | agents | 5 | May | 2011 | |
8 | agents | 6 | June | 2011 | |
2 | agents | 7 | July | 2011 | |
23 | agents | 8 | August | 2011 | |
126 | agents | 9 | September | 2011 | |
101 | agents | 10 | October | 2011 | |
85 | agents | 11 | November | 2011 | |
92 | agents | 12 | December | 2011 | |
115 | agents | 1 | January | 2012 | |
102 | agents | 2 | February | 2012 | |
48 | agents | 3 | March | 2012 |
foreach
(
string
aId
in
aAgency)
{
DataTable dtBrands = count.GetBrandsChartData(Convert.ToDateTime(txtStartDate.Text), Convert.ToDateTime(txtEndDate.Text), Convert.ToInt32(aId));
bool
morethenTwelve =
false
;
if
(dtBrands.Rows.Count > 0)
{
ChartSeries brandChartSeries =
new
ChartSeries();
brandChartSeries.Name = dtBrands.Rows[0][1].ToString();
brandChartSeries.Type = ChartSeriesType.Line;
foreach
(DataRow dr
in
dtBrands.Rows)
{
ChartSeriesItem chartitem =
new
ChartSeriesItem();
chartitem.YValue = Convert.ToDouble(dr[
"Tours"
]);
if
(morethenTwelve ==
false
)
{
dtMontno = Convert.ToInt32(dr[
"dtMonthno"
]);
}
if
(dtMontno == 12)
{
chartitem.XValue = Convert.ToDouble(dr[
"dtMonthno"
]);
morethenTwelve =
true
;
dtMontno = 13;
}
else
if
(dtMontno > 12)
{
chartitem.XValue = Convert.ToDouble(dtMontno += 1);
morethenTwelve =
true
;
}
else
{
chartitem.XValue = Convert.ToDouble(dr[
"dtMonthno"
]);
morethenTwelve =
false
;
}
brandChartSeries.AddItem(chartitem);
radBrands.PlotArea.XAxis[dtMonth - 1].TextBlock.Text = dr[
"dtMonthBrand"
].ToString();
}
radBrands.PlotArea.XAxis.LayoutMode = Telerik.Charting.Styles.ChartAxisLayoutMode.Inside;
radBrands.ChartTitle.TextBlock.Text =
"Brands"
;
radBrands.PlotArea.XAxis.AutoScale =
false
;
radBrands.AddChartSeries(brandChartSeries);
radBrands.Series.Add(brandChartSeries);
}
}
private
void
InitializeComponent()
{
this
.DataBinding +=
new
System.EventHandler(
this
.RandomName_DataBound);
}
ComboBox.ItemTemplate =
new
ItemTemplate();
ComboBox.ItemDataBound += ComboBox_ItemDataBound;
ComboBox.Width = Unit.Pixel(500);
ComboBox.AllowCustomText =
true
;
ComboBox.MarkFirstMatch =
true
;
ComboBox.DataSource = GetVendorList();
ComboBox.DataTextField =
"Name"
;
ComboBox.DataBind();
foreach
(RadComboBoxItem item
in
ComboBox.Items)
{
item.DataBind();
}
protected
void
RandomName_DataBound(
object
sender, EventArgs e)
{
// do stuff here
}
class
ItemTemplate : ITemplate
{
public
void
InstantiateIn(Control container)
{
Table table =
new
Table();
table.Width = Unit.Percentage(100);
TableRow mainRow =
new
TableRow();
TableCell cell1 =
new
TableCell();
cell1.Width = Unit.Percentage(40);
cell1.DataBinding +=
new
EventHandler(cell1_DataBinding);
mainRow.Cells.Add(cell1);
TableCell cell2 =
new
TableCell();
cell2.DataBinding +=
new
EventHandler(cell2_DataBinding);
cell2.Width = Unit.Percentage(30);
mainRow.Cells.Add(cell2);
TableCell cell3 =
new
TableCell();
cell3.DataBinding +=
new
EventHandler(cell3_DataBinding);
cell3.Width = Unit.Percentage(30);
mainRow.Cells.Add(cell3);
table.Rows.Add(mainRow);
container.Controls.Add(table);
}
private
void
cell1_DataBinding(
object
sender, EventArgs e)
{
TableCell target = (TableCell)sender;
RadComboBoxItem item = (RadComboBoxItem)target.BindingContainer;
target.Text = (
string
)DataBinder.Eval(item,
"Text"
);
}
private
void
cell2_DataBinding(
object
sender, EventArgs e)
{
TableCell target = (TableCell)sender;
RadComboBoxItem item = (RadComboBoxItem)target.BindingContainer;
target.Text = (
string
)DataBinder.Eval(item,
"Attributes[\"Type\"]"
);
}
private
void
cell3_DataBinding(
object
sender, EventArgs e)
{
TableCell target = (TableCell)sender;
RadComboBoxItem item = (RadComboBoxItem)target.BindingContainer;
target.Text = (
string
)DataBinder.Eval(item,
"Attributes[\"Phone\"]"
);
}
}
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
<!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
>
<
telerik:RadStyleSheetManager
ID
=
"RadStyleSheetManager1"
runat
=
"server"
/>
</
head
>
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
ID
=
"RadScriptManager1"
runat
=
"server"
>
<
Scripts
>
<%--Needed for JavaScript IntelliSense in VS2010--%>
<%--For VS2008 replace RadScriptManager with ScriptManager--%>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.Core.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQuery.js"
/>
<
asp:ScriptReference
Assembly
=
"Telerik.Web.UI"
Name
=
"Telerik.Web.UI.Common.jQueryInclude.js"
/>
</
Scripts
>
</
telerik:RadScriptManager
>
<
script
type
=
"text/javascript"
>
//Put your JavaScript code here.
</
script
>
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadButtonAdd"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadTabStripContent"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"LabelCount"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"RadButtonClose_Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"RadTabStripContent"
/>
<
telerik:AjaxUpdatedControl
ControlID
=
"LabelCount"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
div
style
=
"height: 100px; background-color: gray;"
>
<
telerik:RadTabStrip
ID
=
"RadTabStripContent"
runat
=
"server"
Skin
=
"Simple"
ScrollChildren
=
"true"
dir
=
"LTL"
EnableEmbeddedSkins
=
"true"
Visible
=
"true"
>
<
TabTemplate
>
<
asp:Label
ID
=
"LabelTabName"
runat
=
"server"
/>
Tab
</
TabTemplate
>
</
telerik:RadTabStrip
>
</
div
>
<
telerik:RadButton
runat
=
"server"
ID
=
"RadButtonAdd"
Text
=
"Add"
OnClick
=
"RadButtonAdd_Click"
></
telerik:RadButton
>
<
telerik:RadButton
runat
=
"server"
ID
=
"RadButtonClose"
Text
=
"close"
OnClick
=
"RadButtonClose_Click"
></
telerik:RadButton
>
<
asp:Label
runat
=
"server"
ID
=
"LabelCount"
Text
=
"Tab Count:"
></
asp:Label
>
</
form
>
</
body
>
</
html
>
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Web.Security;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Telerik.Web.UI;
public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadButtonClose_Click(object sender, EventArgs e)
{
RadTabStripContent.Tabs.RemoveAt(RadTabStripContent.Tabs.Count -4);
LabelCount.Text = "Tab Count:" + RadTabStripContent.Tabs.Count;
}
protected void RadButtonAdd_Click(object sender, EventArgs e)
{
RadTab tab = new RadTab();
tab.Text = "TAB "+ (RadTabStripContent.Tabs.Count + 1).ToString();
RadTabStripContent.Tabs.Add(tab);
LabelCount.Text = "Tab Count:" + RadTabStripContent.Tabs.Count;
}
}
Hello techies,
We are using the RagGrid on a test page for performance testing.
We were surprised to notice that a simple page with 100 elements in the GRID takes on an average about 2 seconds. We are doing a load test on Win Server 2008 R2. We are not using a real database. We are using a STUB to generate the 100 odd elements.
The same STUB when used on ASP.net MVC page with simple HTML table rendering out performs the RadGrid Page. The MVC page takes about 0.37 seconds.
Test Environment : ASP.net 4.0 / RadControls for ASP.NET AJAX Q2 2011 SP1 / Windows Server 2008 R2 / IIS 7.5 / Application pool type “Integrated Pipeline”
Any ideas?
Advance thanks,