public void OrderBy_AddSortExpressionValidation() { var(table, one, two, three) = InstantiateTable(); EnumerableRowCollection <DataRow> source = table.Cast <DataRow>(); var ordered = source.OrderBy(row => int.Parse((string)row.ItemArray[0])); Assert.Equal(new DataRow[] { one, two, three }, ordered); DataRow zero = table.Rows.Add(0); var compared = source.OrderBy((row => row), new TestDataRowComparer <DataRow>()); Assert.Equal(new DataRow[] { zero, one, two, three }, compared); }
/// <summary> /// LINQ's OrderBy operator for generic EnumerableRowCollection. /// </summary> public static OrderedEnumerableRowCollection <TRow> OrderBy <TRow, TKey>(this TypedTableBase <TRow> source, Func <TRow, TKey> keySelector) where TRow : DataRow { DataSetUtil.CheckArgumentNull(nameof(source), "source"); EnumerableRowCollection <TRow> erc = new EnumerableRowCollection <TRow>(source); return(erc.OrderBy(keySelector)); }
/// <summary> /// LINQ's OrderBy operator for generic EnumerableRowCollection. /// </summary> public static OrderedEnumerableRowCollection <TRow> OrderBy <TRow, TKey>( this TypedTableBase <TRow> source, Func <TRow, TKey> keySelector, IComparer <TKey> comparer) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection <TRow> erc = new EnumerableRowCollection <TRow>((DataTable)source); return(erc.OrderBy <TRow, TKey>(keySelector, comparer)); }