private void MoveTo(RowPresenter rowPresenter, bool ensureSelectVisible = true) { if (ShouldSelectByKey) { Select(rowPresenter, SelectionMode.Single, ensureSelectVisible); } else { CurrentRow = rowPresenter; Scrollable.EnsureCurrentRowVisible(); } }
public void EnsureVisible(int?salesOrderId) { if (!salesOrderId.HasValue) { return; } var current = GetRow(salesOrderId.Value); if (current != null) { CurrentRow = current; Scrollable.EnsureCurrentRowVisible(); } }
/// <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(); } }