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);
        }
示例#2
0
        /// <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));
        }