如何在ObjectListView中获取所选对象的值

时间:2013-03-24 05:28:13

标签: c# objectlistview

我有一个objectlistview,它在列中显示文件名及其路径。我想在选定的项目上运行一个函数。有没有什么方法可以获取文件名的值并循环遍历在objectlistview上选择的每个文件?列方面名称是文件名。

我的功能如下:sampleFunction(string inputFile,string outputFile);

到目前为止我已经尝试了这个,但是无法工作,我知道我缺少对该列本身的引用,但我不知道如何添加它:

for(var i=0; i<=objectListView1.SelectedObjects.Count; i++)
        {
            encClass.sampleFunction(objectListView1.SelectedObjects[i], "output here");
        }

编辑:

我还尝试将ToString()方法附加到objectListView1.SelectedObjects[i].ToString()。它没有显示错误,但函数无法正常运行,因为我有3列,我只想在函数中使用第一列的值作为inputFile值。

1 个答案:

答案 0 :(得分:6)

我似乎你没有正确理解OLV的概念。我建议你再次阅读教程。
OLV允许您直接使用基础模型对象,因此只需将选定对象转换为原始类型并访问其属性即可。您甚至可以使用TypedObjectListView&lt;&gt;,这简化了对模型的访问。

从你的帖子来看,你想做的事情可能是这样的:

foreach (var selectedObject in objectListView1.SelectedObjects) {
    encClass.sampleFunction(((MyType)selectedObject).Filename, "output here");
}

显然,将“MyType”替换为您的模型对象类型。