See Technical Demos of the New Features in the DevCraft R2 2016 Release Webinar. Save Your Seat!

Grid - Grouping

Received  FolderName  
 ReceivedFromFolder nameSize
123
 Item 1 to 20 of 52
Page:
of 3 Page size:
Received from date: Sunday, March 28, 2010
FolderName: Deleted Items
   3/28/2010NBullard@web.comDeleted Items8
   3/28/2010TSholl@web.comDeleted Items9
   3/28/2010SWard@web.comDeleted Items65
FolderName: Drafts
   3/28/2010EWarner@web.comDrafts2
   3/28/2010GTomlinson@web.comDrafts6
Received from date: Saturday, March 27, 2010
FolderName: Deleted Items
   3/27/2010FDuncan@web.comDeleted Items54
   3/27/2010SBonner@web.comDeleted Items4378
FolderName: Drafts
   3/27/2010KAnn@web.comDrafts2
   3/27/2010LSanborn@web.comDrafts87
FolderName: Junk E-mail
   3/27/2010JGreenawalt@web.comJunk E-mail5678
   3/27/2010CCox@web.comJunk E-mail234
   3/27/2010EOmara@web.comJunk E-mail5
Received from date: Friday, March 26, 2010
FolderName: Inbox
   3/26/2010ARodacker@web.comInbox856
   3/26/2010ACatherina@web.comInbox3
   3/26/2010ISaline@web.comInbox23
   3/26/2010CPeters@web.comInbox23
FolderName: Junk E-mail
   3/26/2010FHeckendora@web.comJunk E-mail3
FolderName: Outbox
   3/26/2010BAtkinson@web.comOutbox5
   3/26/2010BNehling@web.comOutbox645
FolderName: Sent Items
   3/26/2010JQueer@web.comSent Items89
Isolate this demo as a stand-alone application
  • About this demo
  • C#
  • VB
This example demonstrates how GroupByExpressions can be used in Telerik RadGrid:
Creating group-by expressions - GridGroupByField Properties:
  • FieldName: name of any field from the DataSource
  • FieldAlias: alias string. This cannot contain blanks or other reserved symbols like ',', '.' etc.
  • Aggregate: any of - min, max, sum, count, last, first etc (the same as in GridAggregateFunction enumeration)
  • SortOrder: acs or desc - the sort order of the grouped items
  • HeaderText: specifies the name to use for the field when it appears in the group header and in the group panel. This property lets you specify a field name that includes blanks or reserved characters. This property is only used for fields in the SelectFields collection. Meaningful for items from the SelectFields collection only.
  • FormatString: specifies a format string for formatting field values when they appear in the group header. This property is only used for fields in the SelectFields collection. Meaningful for items from the SelectFields collection only.
  • HeaderValueSeparator: specifies a string that appears in the group header between the header text and the value (or aggregated value). This property is only used for fields in the SelectFields collection. Meaningful for items from the SelectFields collection only.
Note that grouping is not supported with simple data-binding (calling DataBind()). See the Simple data binding demo from the Populating with data section for more info about the limitations of this binding mode.
  • DefaultCS.aspx
<%@ Page Language="c#"  %>

<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head runat="server">
    <title>Telerik ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <telerik:RadScriptManager runat="server" ID="RadScriptManager1" />
    <telerik:RadSkinManager ID="RadSkinManager1" runat="server" ShowChooser="true" />
    <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" UpdateInitiatorPanelsOnly="true">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="RadGrid1">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl>
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
    </telerik:RadAjaxManager>
    <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server">
    </telerik:RadAjaxLoadingPanel>
    <div class="demo-container no-bg">
        <telerik:RadGrid RenderMode="Lightweight" ID="RadGrid1" DataSourceID="SqlDataSource1" runat="server" PageSize="20"
            AllowSorting="True" AllowMultiRowSelection="True" AllowPaging="True" ShowGroupPanel="True"
            AutoGenerateColumns="False" GridLines="none">
            <PagerStyle Mode="NextPrevNumericAndAdvanced"></PagerStyle>
            <MasterTableView Width="100%">
                <GroupByExpressions>
                    <telerik:GridGroupByExpression>
                        <SelectFields>
                            <telerik:GridGroupByField FieldAlias="Received" FieldName="Received" FormatString="{0:D}"
                                HeaderValueSeparator=" from date: "></telerik:GridGroupByField>
                        </SelectFields>
                        <GroupByFields>
                            <telerik:GridGroupByField FieldName="Received" SortOrder="Descending"></telerik:GridGroupByField>
                        </GroupByFields>
                    </telerik:GridGroupByExpression>
                    <telerik:GridGroupByExpression>
                        <SelectFields>
                            <telerik:GridGroupByField FieldAlias="FolderName" FieldName="FolderName"></telerik:GridGroupByField>
                        </SelectFields>
                        <GroupByFields>
                            <telerik:GridGroupByField FieldName="FolderName"></telerik:GridGroupByField>
                        </GroupByFields>
                    </telerik:GridGroupByExpression>
                </GroupByExpressions>
                <Columns>
                    <telerik:GridBoundColumn SortExpression="Received" HeaderText="Received" HeaderButtonType="TextButton"
                        DataField="Received" DataFormatString="{0:d}">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="From" HeaderText="From" HeaderButtonType="TextButton"
                        DataField="From">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="FolderName" HeaderText="Folder name" HeaderButtonType="TextButton"
                        DataField="FolderName">
                    </telerik:GridBoundColumn>
                    <telerik:GridBoundColumn SortExpression="Size" HeaderText="Size" HeaderButtonType="TextButton"
                        DataField="Size">
                    </telerik:GridBoundColumn>
                </Columns>
            </MasterTableView>
            <ClientSettings ReorderColumnsOnClient="True" AllowDragToGroup="True" AllowColumnsReorder="True">
                <Selecting AllowRowSelect="True"></Selecting>
                <Resizing AllowRowResize="True" AllowColumnResize="True" EnableRealTimeResize="True"
                    ResizeGridOnColumnResize="False"></Resizing>
            </ClientSettings>
            <GroupingSettings ShowUnGroupButton="true"></GroupingSettings>
        </telerik:RadGrid>
    </div>
    <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:TelerikConnectionString %>"
        ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Mails" runat="server"></asp:SqlDataSource>
    </form>
</body>
</html>

Find Assistance

Help Us Improve

Was this example helpful?