2012-04-15 67 views
0

我想將每個文本分隔到VB.net自己的列中。將文本與.txt分隔成列表視圖中的列(VB.net移動版)

我該如何做到這一點?

Screen shots

每個主菜是分隔用 「|」 。我的代碼:

Private Sub MenuItem3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click 
    Dim folder As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) 
    Using sw As StreamWriter = File.AppendText("\My Expenses.txt") 

     sw.WriteLine(DateTimePicker.Text + Space(1) & "|" & Subject.Text + Space(4) & "|" & Category.Text + Space(5) & "|" & Amount.Text + Space(4) & "|" & Peyment.Text) 
     sw.Close() 

    End Using 
End Sub 
+0

您使用的是什麼版本的緊湊框架。我相信你想看看使用[ListViewItemCollection類](http://msdn.microsoft.com/en-US/library/system.windows.forms.listview.listviewitemcollection(v = vs.80).aspx) – 2012-04-16 03:50:49

回答

0

我沒有任何的移動應用程序在這個時刻做實驗,但我相信這樣的事情是你所追求的:

Private Sub MenuItem3_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem3.Click 
    Using sw As StreamWriter = File.AppendText("\My Expenses.txt") 
    For Each item As ListViewItem in ListView1 
     Dim line As String = Nothing 
     For Each entry As String in item.SubItems 
     line.Append(entry & "|") 
     Next For 
     sw.WriteLine(line) 
    Next For 
    sw.Close() 
    End Using 
End Sub 

我可能誤會你是什麼試圖做,但我認爲你正在試圖獲得列條目。

更新:

現在你已經保存到一個文件中的設置,你將如何讓他們回來?

Private Sub PopulateListView() 
    ListView1.Items.Clear() 
    Using sr As StreamReader = File.OpenText("\My Expenses.txt") 
    While (-1 < sr.Peek()) 
     Dim line As String = sr.ReadLine() 
     Dim item As New ListViewItem(line.Split("|"c)) 
     ListView1.Items.Add(item) 
    End While 
    sr.Close() 
    End Using 
End Sub 

當然,您的代碼可能需要特殊處理,但是這涵蓋了基本的讀取和寫入操作。

+0

我相信他希望導入他創建的.txt文件,將其分割成單獨的記錄並將其添加到他的控件列中。 – 2012-04-16 02:58:04

+0

謝謝jp2code。馬克霍爾是正確的,我正在努力實現。 當前代碼對我產生一些錯誤,如下所示: 表達式的類型爲'System.Windows.Forms.ListView',它不是一個集合類型。 基本上, 我想要listview對象導入一個text.file,每個entrée用管道分隔「|」並把它們放在一個單獨的列中。 – 2012-04-16 03:37:47

+0

讀回來只是寫出來的反義詞。我編輯了我的解決方案以添加閱讀程序。 – jp2code 2012-04-16 14:03:19