예제 #1
0
        public void Select(int id)
        {
            var index = GetItemIndex(id, true);

            Refresh();
            m_ListView.ScrollToItem(index);
            m_ListView.selectedIndex = index;
        }
예제 #2
0
        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;
             }
         }
     }
 }