如何在ListView控件中获取选中项的索引

如何在ListView控件中获取选中项的索引,listview,syncfusion,Listview,Syncfusion,我有一个ListView控件(SfListView),我需要知道检查的每个项的索引 在上面的图片上是1,3,4 CheckedItems集合没有索引 DataSource属性具有索引和数据,但它当然不包含选中状态 我尝试的另一件事是在ItemChecked事件中管理它,如下所示: private void lstAppNamePTT_ItemChecked(object sender, Syncfusion.WinForms.ListView.Events.ItemCheckedEventAr

我有一个ListView控件(SfListView),我需要知道检查的每个项的索引

在上面的图片上是1,3,4

CheckedItems
集合没有索引

DataSource
属性具有索引和数据,但它当然不包含选中状态

我尝试的另一件事是在
ItemChecked
事件中管理它,如下所示:

private void lstAppNamePTT_ItemChecked(object sender, Syncfusion.WinForms.ListView.Events.ItemCheckedEventArgs e)
        {
            if(e.NewState == CheckState.Checked) {
                AppChecked.Add(e.ItemIndex);
            } else
            {
                AppChecked.Remove(e.ItemIndex);
            }
        }
这并没有给我一个在活动之外做这件事的方法


我想迭代
数据源
,找到关键字段值并检索索引,但这是正确的做法吗?

我在这里给出了从SyncFusion论坛得到的答案:

可以通过在
SfListVIew
视图中检查检查的项目并获取其索引值来实现:

ObservableCollection<int> selectedIndex = new ObservableCollection<int>(); 

            foreach (var allItems in sfListView1.View.Items) 
            { 
                foreach (var checkedItem in sfListView1.CheckedItems) 
                { 
                    if(allItems == checkedItem) 
                    { 
                        selectedIndex.Add(sfListView1.View.DisplayItems.IndexOf(allItems)); 
                    } 
                } 
            } 
ObservableCollection selectedIndex=new ObservableCollection();
foreach(sfListView1.View.Items中的变量allItems)
{ 
foreach(sfListView1.CheckedItems中的var checkedItem)
{ 
如果(allItems==checkedItem)
{ 
选择dex.Add(sfListView1.View.DisplayItems.IndexOf(allItems));
} 
} 
} 

我将从SyncFusion论坛得到的答案放在这里:

可以通过在
SfListVIew
视图中检查检查的项目并获取其索引值来实现:

ObservableCollection<int> selectedIndex = new ObservableCollection<int>(); 

            foreach (var allItems in sfListView1.View.Items) 
            { 
                foreach (var checkedItem in sfListView1.CheckedItems) 
                { 
                    if(allItems == checkedItem) 
                    { 
                        selectedIndex.Add(sfListView1.View.DisplayItems.IndexOf(allItems)); 
                    } 
                } 
            } 
ObservableCollection selectedIndex=new ObservableCollection();
foreach(sfListView1.View.Items中的变量allItems)
{ 
foreach(sfListView1.CheckedItems中的var checkedItem)
{ 
如果(allItems==checkedItem)
{ 
选择dex.Add(sfListView1.View.DisplayItems.IndexOf(allItems));
} 
} 
}