2012-04-19 5 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

просто google для этого: Dim subItem = Новый ListViewItem.ListViewSubItem (элемент, текст) ListView1.Items (i) .SubItems.Insert (i, subItem) –

ответ

3

При использовании

OpenFileDialog1.Multiselect = true 

Все выбранные файлы уже хранятся в виде коллекции в OpenFileDialog1.FileNames, просто проходным все значения и поместить их в ListView

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, то невозможно показать столбцы, даже если вы разместили содержимое своего файла в subItem.

+0

Это отлично работает для добавления полного пути к файлу, но опять же, он просто помещает по одному в каждую строку в первом столбце списка. Что я ищу, так это то, как поместить содержимое файла в отдельные столбцы. – Phoenix

+0

Итак, вы хотите поместить имя файла в отдельные столбцы в одну строку? Я не уверен, что вы подразумеваете под содержимым файла – Nick

+0

Извините, я думаю, я не был предельно ясен. Файл 1 содержит имя, а файл 2 содержит идентификационный номер. Выбрав File 1 и File 2, имя должно появиться в одном столбце и ID-номер во втором столбце, но оба они будут в одной строке, чтобы они соответствовали друг другу. – Phoenix

Смежные вопросы