在vb.net中的do until循环中的vbtab问题

时间:2016-11-06 19:11:29

标签: vb.net do-loops

this image show my vbtab problem

嘿伙计们,我在使用vbtab的应用程序中遇到了问题 任何人都可以知道这是什么问题

这是我的代码:

        txtshowpayments.Text = "Student's ID" & vbTab & "Student's Name" & vbTab & "Total Payment" & vbCrLf

    Class217FileReader = New StreamReader("class217.txt")
    PaymentsFileReader = New StreamReader("payments.txt")
    Do Until PaymentsFileReader.EndOfStream
        Do Until Class217FileReader.EndOfStream
            Dim aline As String = Class217FileReader.ReadLine
            Dim aline1 As String = PaymentsFileReader.ReadLine
            Dim fields() As String = aline.Split(","c)
            Dim fields1() As String = aline1.Split(","c)

            Dim StudentId As Integer = Convert.ToInt32(fields1(0))
            Dim studentId1 As Integer = Convert.ToInt32(fields(0))
            Dim StudentName As String = fields(1) & " " & fields(2)
            Dim totalpayment As Integer = Convert.ToInt32(fields1(1)) + Convert.ToInt32(fields1(2)) + Convert.ToInt32(fields1(3))

            If ShouldDisplay(StudentId, studentId1) Then
                txtshowpayments.Text &= StudentId & vbTab & StudentName & vbTab & String.Format("{0:C}", totalpayment) & vbCrLf
            End If
        Loop
    Loop

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

使用格式字符串

Dim formatString As String = "{0,-12}     {1,-14}     {2}" & vbCrLf

txtshowpayments.Text = String.Format(formatString, "Student's ID", "Student's Name", "Total Payment")
formatString = String.Replace("{2}", "{2:C}")

Class217FileReader = New StreamReader("class217.txt")
PaymentsFileReader = New StreamReader("payments.txt")
Do Until PaymentsFileReader.EndOfStream
    Do Until Class217FileReader.EndOfStream
        Dim aline As String = Class217FileReader.ReadLine
        Dim aline1 As String = PaymentsFileReader.ReadLine
        Dim fields() As String = aline.Split(","c)
        Dim fields1() As String = aline1.Split(","c)

        Dim StudentId As Integer = Convert.ToInt32(fields1(0))
        Dim studentId1 As Integer = Convert.ToInt32(fields(0))
        Dim StudentName As String = fields(1) & " " & fields(2)
        Dim totalpayment As Integer = Convert.ToInt32(fields1(1)) + Convert.ToInt32(fields1(2)) + Convert.ToInt32(fields1(3))

        If ShouldDisplay(StudentId, studentId1) Then
            txtshowpayments.Text &= String.Format(formatString, StudentId, StudentName, totalpayment)
        End If
    Loop
Loop

更好......查看DataGrid控件。