2012-04-19 24 views
0

このプログラムのユーザーには、任意のディレクトリから2つのテキストファイルを選択する必要があります。私はそれをリストビューで表示する必要があります。ファイル1は最初の列にロードし、ファイル2は2番目の列にロードする必要があります。彼らはお互いに対応します。複数のファイルをリストビューに読み込むVB.Net

私は現在、複数選択できるようにするために、次の必要があり

OpenFileDialog.Multiselect = True 

私が対応する列にこれらのユニークなファイルを分離しているとのトラブルを抱えています。たとえば、次のコードは非常に効果的に最初の列に最初のファイルの内容をロードします。私は2番目のファイルを選択すると

 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(item、 "text") ListView1.Items(i).SubItems.Insert(i、subItem) –

答えて

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

これは、ファイルのフルパスを追加するのには完全に機能しますが、リストビューの最初の列の各行に1つずつ配置するだけです。 私が探しているのは、ファイルの内容を別々の列に入れる方法です。 – Phoenix

+0

ファイル名を1行に分けて別々の列に入れたいのですか?ファイルの内容がどういう意味なのかよく分かりません – Nick

+0

申し訳ありませんが、私は非常に明確ではなかったと思います。ファイル1は名前を含み、ファイル2はID番号を含む。ファイル1とファイル2を選択すると、その名前が1つの列に表示され、ID番号が2番目の列に表示されますが、両方が同じ行に表示され、相関するように見えます。 – Phoenix