C# 双击(WinForms)访问RadListView所选项目的数据
我有一个问题,我有一个RadListView,我用自定义的ListViewDataItems列表填充它(都在WinForms下) 然后我添加了一个双击事件: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]
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格式化,。。。