private void MoveTo(RowPresenter rowPresenter, bool ensureSelectVisible = true)
 {
     if (ShouldSelectByKey)
     {
         Select(rowPresenter, SelectionMode.Single, ensureSelectVisible);
     }
     else
     {
         CurrentRow = rowPresenter;
         Scrollable.EnsureCurrentRowVisible();
     }
 }
Example #2
0
            public void EnsureVisible(int?salesOrderId)
            {
                if (!salesOrderId.HasValue)
                {
                    return;
                }

                var current = GetRow(salesOrderId.Value);

                if (current != null)
                {
                    CurrentRow = current;
                    Scrollable.EnsureCurrentRowVisible();
                }
            }
Example #3
0
        /// <summary>
        /// Selects specified <see cref="RowPresenter"/>.
        /// </summary>
        /// <param name="rowPresenter">The specified <see cref="RowPresenter"/>.</param>
        /// <param name="selectionMode">The selection mode.</param>
        /// <param name="ensureVisible">Indicates whether selected row must be visible.</param>
        /// <param name="beforeSelecting">A delegate will be invoked before selectinng.</param>
        public void Select(RowPresenter rowPresenter, SelectionMode selectionMode, bool ensureVisible = true, Action beforeSelecting = null)
        {
            VerifyRowPresenter(rowPresenter, nameof(rowPresenter));

            var oldCurrentRow = CurrentRow;

            beforeSelecting?.Invoke();
            SuspendInvalidateView();
            CurrentRow = rowPresenter;
            RequireLayoutManager().Select(rowPresenter, selectionMode, oldCurrentRow);
            ResumeInvalidateView();
            if (ensureVisible && Scrollable != null)
            {
                Scrollable.EnsureCurrentRowVisible();
            }
        }