2013-03-24 37 views
1

我有一個objectlistview,它在一列中顯示文件名及其路徑。我想在選定的項目上運行一個函數。有沒有什麼辦法可以獲取文件名的值,並循環遍歷objectlistview上選中的每個文件?列方面名稱是文件名。我的功能如下:sampleFunction(string inputFile,string outputFile);如何獲取ObjectListView中選定對象的值

到目前爲止,我已經試過這一點,但不能工作,我知道我錯過參考柱本身,但我不;知道如何將其添加:

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

編輯:

我也嘗試追加ToString()方法到objectListView1.SelectedObjects[i].ToString()。它顯示沒有錯誤,但函數無法完美運行,因爲我有3列,我只想在函數中使用第一列的值作爲inputFile值。

+0

是您ObjectListView從這裏(?):http://objectlistview.sourceforge.net/cs/index.html – Inisheer 2013-03-24 05:29:27

+0

是它是從Sourceforge上,我增加一條,作爲參考 – user2002495 2013-03-24 05:32:12

+0

爲什麼你要問同樣的問題兩次?這是你的另一個http://stackoverflow.com/questions/15595963/how-to-get-a-single-cell-value-in-objct-listview – Shaharyar 2013-03-24 08:09:28

回答

6

我似乎沒有正確理解OLV的概念。我建議你閱讀教程(再次)。
OLV允許您直接使用底層模型對象,因此只需將選定對象轉換爲原始類型並訪問其屬性即可。您甚至可以使用TypedObjectListView>,這可以簡化對模型的訪問。

從你看後,你想做的事大概是這樣的:

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

顯然,與您的模型對象類型替換「的MyType」。

+1

顯然我不需要教程了,因爲你的答案,非常感謝! :) – user2002495 2013-03-25 09:37:19