LinqDataSource.OrderGroupsBy Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the fields that are used for ordering grouped data.
public:
property System::String ^ OrderGroupsBy { System::String ^ get(); void set(System::String ^ value); };
public string OrderGroupsBy { get; set; }
member this.OrderGroupsBy : string with get, set
Public Property OrderGroupsBy As String
Property Value
A string that is used to create the Order Groups By clause.
Examples
The following example shows how to group the data by using two properties, and how to sort the grouped data by using one of those properties. The data from a table named Products
is grouped by using properties named CategoryID
and Discontinued
. The grouped data is sorted by the CategoryID
property.
<asp:LinqDataSource
ContextTypeName="DataClassesDataContext"
TableName="Products"
GroupBy="new (CategoryID, Discontinued)"
OrderGroupsBy="Key.CategoryID"
Select="new(Key.CategoryID, Key.Discontinued, Average(UnitPrice) As AvePrice)"
ID="LinqDataSource1"
runat="server" >
</asp:LinqDataSource>
<asp:LinqDataSource
ContextTypeName="DataClassesDataContext"
TableName="Products"
GroupBy="new (CategoryID, Discontinued)"
OrderGroupsBy="Key.CategoryID"
Select="new(Key.CategoryID, Key.Discontinued, Average(UnitPrice) As AvePrice)"
ID="LinqDataSource1"
runat="server" >
</asp:LinqDataSource>
The following example shows how to group the data by using a property, and how to sort it based on the results of an aggregation function. The data from the Products
table is grouped by using the CategoryID
property. It is sorted based on the average of the UnitPrice
property within each group.
<asp:LinqDataSource
ContextTypeName="DataClassesDataContext"
TableName="Products"
GroupBy="CategoryID"
OrderGroupsBy="Average(UnitPrice)"
Select="new(Key, Average(UnitPrice) As AvePrice)"
ID="LinqDataSource1"
runat="server" >
</asp:LinqDataSource>
<asp:LinqDataSource
ContextTypeName="DataClassesDataContext"
TableName="Products"
GroupBy="CategoryID"
OrderGroupsBy="Average(UnitPrice)"
Select="new(Key, Average(UnitPrice) As AvePrice)"
ID="LinqDataSource1"
runat="server" >
</asp:LinqDataSource>
Remarks
You use the OrderGroupsBy property to specify how the groups of data are sorted. For example, you can group by the CategoryID
property and then sort each category ID group by the average of the Price
property.
You can set the OrderGroupsBy property only when you have grouped the data. If you set the OrderGroupsBy property without setting the GroupBy property, the LinqDataSource control throws an exception.
The property that is used to sort the data must be either a property that is used to group the data, or the result of an aggregation function on the grouped data. To specify how the data is sorted, you can add a space and the string "Ascending", "ASC", "Descending", or "DESC" to a property name in the OrderGroupsBy string.
You can specify more than one property in the OrderGroupsBy property. Separate each property by using a comma.