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