Hello,
For my webapplication I use an AJAX Radgrid with something like 15 columns and 30 000 rows.
Filtering, sorting are ok and pretty fast, but when I try to group results it become really slow, and actually with my 30 000 rows it doesn't work. The ajax call returns a 500 error.
I saw a thread on this forum explaining that Radgrid is fast enough for 300 000 rows, so I don't understand what I'm doing wrong...
I use an AJAX Radgrid with a HeaderContextMenu, linked to an EntityDataSource (but I tried with a LinqDataSource too).
On the code below I removed most of the columns for readability, it's just several common GridBoundColumn.
The Telerik.Web.UI.dll version is 2010.2.929.35, Framework .NET 3.5
For my webapplication I use an AJAX Radgrid with something like 15 columns and 30 000 rows.
Filtering, sorting are ok and pretty fast, but when I try to group results it become really slow, and actually with my 30 000 rows it doesn't work. The ajax call returns a 500 error.
I saw a thread on this forum explaining that Radgrid is fast enough for 300 000 rows, so I don't understand what I'm doing wrong...
I use an AJAX Radgrid with a HeaderContextMenu, linked to an EntityDataSource (but I tried with a LinqDataSource too).
On the code below I removed most of the columns for readability, it's just several common GridBoundColumn.
The Telerik.Web.UI.dll version is 2010.2.929.35, Framework .NET 3.5
<
telerik:RadGrid
EnableViewState
=
"false"
OnPreRender
=
"RadGrid1_PreRender"
ExportSettings-ExportOnlyData
=
"true"
ExportSettings-IgnorePaging
=
"true"
ExportSettings-Csv-ColumnDelimiter
=
"Semicolon"
DataSourceID
=
"EntityDataSourcePesee"
AutoGenerateColumns
=
"false"
ID
=
"RadGrid1"
Width
=
"1604px"
AllowFilteringByColumn
=
"True"
AllowSorting
=
"True"
ShowFooter
=
"True"
AllowPaging
=
"true"
PageSize
=
"5"
runat
=
"server"
GridLines
=
"None"
EnableLinqExpressions
=
"false"
OnItemCommand
=
"RadGrid1_ItemCommand"
OnItemCreated
=
"RadGrid1_ItemCreated"
Culture
=
"fr-FR"
EnableHeaderContextMenu
=
"true"
EnableHeaderContextFilterMenu
=
"true"
>
<
PagerStyle
Mode
=
"NextPrevAndNumeric"
NextPageToolTip
=
"Page suivante"
PrevPageToolTip
=
"Page précédente"
FirstPageToolTip
=
"Première page"
LastPageToolTip
=
"Dernière page"
PageSizeLabelText
=
"Nombre de pesées par page :"
PagerTextFormat
=
"{4} Pesées {2} à {3} sur {5} au total"
/>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
MasterTableView
AutoGenerateColumns
=
"false"
IsFilterItemExpanded
=
"false"
PageSize
=
"10"
AllowFilteringByColumn
=
"True"
ShowFooter
=
"True"
TableLayout
=
"Auto"
CommandItemDisplay
=
"Bottom"
>
<
CommandItemSettings
ExportToCsvText
=
"Exporter la sélection"
ShowAddNewRecordButton
=
"false"
ShowRefreshButton
=
"false"
ShowExportToCsvButton
=
"true"
/>
<
SortExpressions
>
<
telerik:GridSortExpression
FieldName
=
"PES_DATE"
SortOrder
=
"Descending"
/>
</
SortExpressions
>
<
Columns
>
<
telerik:GridBoundColumn
HeaderTooltip
=
"Trier la colonne"
FilterControlWidth
=
"50px"
DataField
=
"SITE.SIT_LIBELLE"
HeaderText
=
"Site de pesage"
FilterImageToolTip
=
"Filtrer"
SortExpression
=
"it.SITE.SIT_LIBELLE"
UniqueName
=
"SIT_LIBELLE"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderTooltip
=
"Trier la colonne"
FilterControlWidth
=
"50px"
DataField
=
"PES_DATE_ENTREE"
HeaderText
=
"Date d'entrée de la pesée"
FilterImageToolTip
=
"Filtrer"
SortExpression
=
"PES_DATE_ENTREE"
UniqueName
=
"PES_DATE_ENTREE"
>
<
HeaderStyle
Width
=
"160px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
HeaderTooltip
=
"Trier la colonne"
FilterControlWidth
=
"50px"
DataField
=
"PES_DATE"
HeaderText
=
"Date de sortie de la pesée"
FilterImageToolTip
=
"Filtrer"
SortExpression
=
"PES_DATE"
UniqueName
=
"PES_DATE"
>
<
HeaderStyle
Width
=
"160px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"PES_TEMPS_PRESENCE"
SortExpression
=
"PES_TEMPS_PRESENCE"
FilterImageToolTip
=
"Filtrer"
InitializeTemplatesFirst
=
"false"
FilterControlToolTip
=
"hh:mm:ss"
DataType
=
"System.String"
DataField
=
"PES_TEMPS_PRESENCE"
>
<
HeaderTemplate
>
<
asp:LinkButton
ToolTip
=
"Trier la colonne"
CssClass
=
"Button"
ID
=
"btnSortTempsPresence"
Text
=
"Temps de présence (hh:mm:ss)"
CommandName
=
'Sort'
CommandArgument
=
'PES_TEMPS_PRESENCE'
runat
=
"server"
/>
</
HeaderTemplate
>
<
ItemTemplate
>
<%# formatTempsPresence((int?)Eval("PES_TEMPS_PRESENCE")) %>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
HeaderTooltip
=
"Trier la colonne"
FilterControlWidth
=
"30px"
DataField
=
"PES_NUM_BON"
HeaderText
=
"N° Bon de pesée"
FilterImageToolTip
=
"Filtrer"
SortExpression
=
"PES_NUM_BON"
UniqueName
=
"PES_NUM_BON"
>
</
telerik:GridBoundColumn
>
....
</
Columns
>
</
MasterTableView
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"false"
/>
<
ClientEvents
OnFilterMenuShowing
=
"FilterMenuShowing"
/>
</
ClientSettings
>
</
telerik:RadGrid
>
<
asp:EntityDataSource
ID
=
"EntityDataSourcePesee"
runat
=
"server"
ConnectionString
=
"name=PeseesEntities"
DefaultContainerName
=
"PeseesEntities"
EntitySetName
=
"PESEE"
Include
=
"SITE"
EnableUpdate
=
"false"
EnableDelete
=
"false"
EnableInsert
=
"false"
>
</
asp:EntityDataSource
>