public void Select(int id) { var index = GetItemIndex(id, true); Refresh(); m_ListView.ScrollToItem(index); m_ListView.selectedIndex = index; }
void Select(EntityHierarchyNodeId id) { m_SelectedItem = id; switch (m_CurrentViewMode) { case ViewMode.Full: { m_TreeView.Select(id.GetHashCode(), false); break; } case ViewMode.Search: { var index = m_ListViewFilteredItems.FindIndex(item => item.NodeId == id); if (index != -1) { m_ListView.ScrollToItem(index); m_CachedSingleSelectionBuffer[0] = index; m_ListView.SetSelectionWithoutNotify(m_CachedSingleSelectionBuffer); } break; } } }
void SetSelection() { if (SearchFilter.IsEmpty) // Tree view { if (m_SystemListView.selectedItem is SystemTreeViewItem item) { m_SystemTreeView.ClearSelection(); m_SystemTreeView.Select(item.id, false); } } else // List view { if (m_LastSelectedItem is SystemTreeViewItem lastSelectedItem) { m_SystemListView.ClearSelection(); var index = m_ListViewFilteredItems.FindIndex(item => item.id == lastSelectedItem.id); if (index != -1) { m_SystemListView.ScrollToItem(index); m_SystemListView.selectedIndex = index; } } } }