2012-04-19 17 views
0

我需要該程序的用戶從任何目錄中選擇兩個文本文件。然後我需要在列表視圖中顯示它們。文件1需要加載到第一列,文件2需要加載到第二列。他們將相互對應。將多個文件讀入列表視圖VB.Net

目前,我有以下的,允許多選

OpenFileDialog.Multiselect = True 

什麼我有被這些獨特的文件分割成相應列的麻煩。例如,下面的代碼非常有效地加載的第一個文件的內容複製到第一列:

 Dim fileName As String = OpenFileDialog.FileName 

     fileReader = New StreamReader(fileName) 

     Do While fileReader.Peek() <> -1 
     firstFile = fileReader.ReadLine & vbNewLine 
     ListView1.Items.Add(firstFile) 

     Loop 

當我選擇第二個文件,第一個文件的內容是在同一列中由第二個文件的內容所取代。

我已經看過使用數組,但我不確定如何將唯一文件加載到每個索引。

我不確定該從哪裏出發。

+0

0123只是谷歌這個:Dim subItem = ListView1.Items(i).SubItems.Insert(i,subItem) – 2012-04-19 03:06:35

回答

3

當您使用

OpenFileDialog1.Multiselect = true 

選擇的所有文件都已經存儲在OpenFileDialog1.FileNames的集合,通過所有的值只是循環,並把它們放到列表視圖

ListView1.Items.Clear 
Dim file as string 
For Each file in OpenFileDialog1.FileNames 
    ListView1.Item.Add(file) 
Next 

,如果你想顯示文件內容在不同列中,那麼您可能需要更改一點點代碼

Dim fileName As String = OpenFileDialog.FileName 

    fileReader = New StreamReader(fileName) 

    Dim FileItem As New ListViewItem 
    Do While fileReader.Peek() <> -1 
     firstFile = fileReader.ReadLine & vbNewLine 

     FileItem .SubItem.Add(firstFile) 

    Loop 
    ListView1.item.add(Item) 

但是,在添加任何項目之前,您可能需要在ListView1中聲明列。如果在你的ListView1中沒有定義列,那麼即使你已經將文件內容放入子項目中,也不可能顯示這些列。

+0

這對於添加文件的完整路徑非常合適,但是它只是在列表視圖的第一列中的每一行上放置一個。 我在找什麼是如何將文件內容放入不同的列 – Phoenix 2012-04-19 02:28:31

+0

所以你想把文件名放在一行的單獨列中?我不確定你的意思是什麼文件內容 – Nick 2012-04-19 02:36:36

+0

對不起,我想我不是很清楚。文件1包含一個名稱,文件2包含一個ID號碼。通過選擇文件1和文件2,該名稱應顯示在一列中,而第二列中顯示ID編號,但兩者都在同一行上,因此它們似乎是相關的。 – Phoenix 2012-04-19 02:49:41