Example #1
0
        /// <summary>
        /// Move a group of rows up or down in the grid & refresh display
        /// </summary>
        /// <param name="selectedRows"></param>
        /// <param name="rowDelta">Pos or neg number of rows to move the selected rows</param>

        void MoveRows(
            int[] selectedRows,
            int rowDelta)
        {
            if (rowDelta == 0)
            {
                return;
            }
            int lastSri = selectedRows.Length - 1;

            if (rowDelta < 0)             // moving rows up - start with first row & work down
            {
                for (int rai = 0; rai <= lastSri; rai++)
                {
                    int sri = selectedRows[rai];
                    DataTableUtil.MoveRow(DataTable, sri, sri + rowDelta);
                }
            }

            else             // move rows down - start with last row & work up
            {
                for (int rai = lastSri; rai >= 0; rai--)
                {
                    int sri = selectedRows[rai];
                    DataTableUtil.MoveRow(DataTable, sri, sri + rowDelta);
                }
            }

            int startRow = selectedRows[0] + rowDelta;
            int endRow   = selectedRows[lastSri] + rowDelta;

            GridView.SelectRows(startRow, endRow);
            GridView.MakeRowVisible(startRow, true);
            GridView.MakeRowVisible(endRow, true);

            TableGrid.RefreshDataSource();
            return;
        }