Show / Hide Table of Contents

    IDataStore.OrderBy<TModel>(Func<TModel, object> keySelector) Method

    .NET Standard 2.x

    Sorts the rows of the primary buffer in the DataStore by a key in the ascending order.

    Namespace: DWNet.Data

    Assembly: DWNet.Data.dll

    Syntax

      public IOrderable<TModel> OrderBy<TModel>(Func<TModel, object> keySelector);
    

    Type Parameters

    TModel

    The type of a model class that matches with the current DataObject.

    Parameters

    keySelector System.Func<TModel, System.Object>

    A function to extract the key from a row.

    Returns

    SnapObjects.Data.IOrderable<TModel>

    Returns an IOrderable<TModel> object which provides methods to add other sorting conditions or execute sort.

    Examples

    The following code example sorts the DataStore records by budget in the ascending order.

    using Appeon.ApiDoc.Models;
    using DWNet.Data;
    using System;
    
    namespace Appeon.ApiDoc.IDataStoreExamples
    {
        public class OrderByExample
        {
            private readonly SchoolContext _context;
    
            public OrderByExample(SchoolContext dataContext)
            {
                // Sets the data context
                _context = dataContext;
            }
    
            public void Example()
            {
                // Instantiates a DataStore object with datawindow: d_department.
                var datastore = new DataStore("d_department", _context);
    
                datastore.Retrieve();
    
                Console.WriteLine("Before OrderBy");
    
                for (int row = 0, rowcount = datastore.RowCount; row < rowcount; row++)
                {
                    Console.WriteLine(
                        "Department ID: {0}; Department Name: {1}; Budget: {2}",
                        datastore.GetItem<int>(row, 0),
                        datastore.GetItem<string>(row, 1),
                        datastore.GetItem<decimal>(row, 2));
                }
    
                // Sorts records by budget in ascending order.
                datastore.OrderBy<D_Department>(d => d.Budget).Sort();
    
                Console.WriteLine("After OrderBy");
    
                for (int row = 0, rowcount = datastore.RowCount; row < rowcount; row++)
                {
                    Console.WriteLine(
                        "Department ID: {0}; Department Name: {1}; Budget: {2}",
                        datastore.GetItem<int>(row, 0),
                        datastore.GetItem<string>(row, 1),
                        datastore.GetItem<decimal>(row, 2));
                }
    
                /*This code produces the following output:
                 
                Before OrderBy
                Department ID: 1; Department Name: Engineering; Budget: 350000.0000
                Department ID: 2; Department Name: English; Budget: 120000.0000
                Department ID: 4; Department Name: Economics; Budget: 200000.0000
                Department ID: 7; Department Name: Mathematics; Budget: 250000.0000
                After OrderBy
                Department ID: 2; Department Name: English; Budget: 120000.0000
                Department ID: 4; Department Name: Economics; Budget: 200000.0000
                Department ID: 7; Department Name: Mathematics; Budget: 250000.0000
                Department ID: 1; Department Name: Engineering; Budget: 350000.0000
                */
            }
        }
    }
    

    Example Refer To

    Model Class: D_Department
    DataWindow File: d_department

    Applies to

    .NET Standard

    2.x

    Back to top Generated by Appeon