C# 双击(WinForms)访问RadListView所选项目的数据

C# 双击(WinForms)访问RadListView所选项目的数据,c#,winforms,listview,telerik,C#,Winforms,Listview,Telerik,我有一个问题,我有一个RadListView,我用自定义的ListViewDataItems列表填充它(都在WinForms下) 然后我添加了一个双击事件: listView.DoubleClick += mainFormListView_DoubleClick; 并宣布该事件: void listView_DoubleClick(object sender, EventArgs eventArgs) 然后,我使用listView.Items[listView.SelectedIndex]

我有一个问题,我有一个RadListView,我用自定义的ListViewDataItems列表填充它(都在WinForms下)

然后我添加了一个双击事件:

listView.DoubleClick += mainFormListView_DoubleClick;
并宣布该事件:

 void listView_DoubleClick(object sender, EventArgs eventArgs)
然后,我使用listView.Items[listView.SelectedIndex]访问当前选定的项目

到目前为止还不错。 但当我试图访问我放入该项目的数据时,问题就开始了。 总的来说,我想在双击某个项目时获取所选项目的“myCustomId”, 但我只得到一个ListViewDataItem,它不包含任何数据,只包含格式属性

有人能告诉我哪里做错了,或者我如何准确地访问以前存储的ID吗


谢谢

当您创建
ListViewDataItem
时,您将
myCustomId
设置为
Text
属性

... new ListViewDataItem(myCustomId, ...
因此,请查看
SelectedItem
上的
Text
属性是否具有您要查找的值

private void radListView1_DoubleClick(object sender, EventArgs e)
{
    var myCustomId = radListView1.SelectedItem.Text;
}
您可能还需要测试
radListView1。在尝试访问
文本
属性之前,请选择EdItem
以确保它不为
null

... new ListViewDataItem(myCustomId, ...

根据您的评论:

调试器仍然表示这两个函数都不存在(当我将鼠标移到var a=listView.SelectedItem行上的“listView.SelectedItem”上时,仅格式化函数)

在运行时放置断点并检查
SelectedItem
时,我看到两个属性都有一个值:


目前(由于我没有找到如何访问所需数据),它没有实际的主体,只有一个我用于调试并在那里放置断点的主体:var a=((listView.Items[listView.SelectedIndex])作为ListViewDataItem);因此它起作用(.text和.value都返回正确的值)。有趣的是,调试器仍然说这两个函数都不存在(当我将鼠标移到var a=listView.SelectedItem行上的“listView.SelectedItem”上时,仅格式化函数。您知道为什么会出现这种情况吗?(同时将答案标记为正确,因为它运行tnx)。几乎是的。当我在元素上移动鼠标,然后看到带有哪些属性的“dropdownlist”时,……它根本没有显示文本或值属性。看起来元素没有这些属性(但我可以像上面的解决方案一样成功地使用它们)。哦,使用VS2012 btw(不知道这是否会对调试问题产生影响。刚刚看到你的更新。你在屏幕截图中显示的鼠标正是我所期望的,但在我的电脑上,它的位置是这样的,因此列表中既没有显示值也没有显示文本。有趣的是,当我比较你的视图和我的视图时,没有显示基类对数据元素的函数(如Backcolor1-4和ActualSize)进行ly格式化,。。。