Заполнение списка из поля со списком - PullRequest
0 голосов
/ 14 ноября 2010

У меня есть программа, в которой я пытаюсь выбрать запись в поле со списком и заполнить список. Тем не менее, я могу получить только одну из записей поля со списком, чтобы показать (который является последним). У меня проблема с сохранением каждой отдельной записи из текстового файла. Может кто-нибудь показать мне некоторые идеи о том, как это сделать?

Imports System.IO
Public Class Form1
    Private BooksStreamReader As StreamReader
    Dim str(51) As String
    Structure Book
        Dim ISBN As String
        Dim Title1 As String
        Dim Author As String
        Dim Publisher As String
        Dim Subject_Code As String
        Dim Shelf_Location As String
        Dim Fiction As Boolean
        Dim Price As Decimal
        Dim QDH As Integer

    End Structure
    Dim ISBN As String
    Dim Title1 As String
    Dim Author As String
    Dim Publisher As String
    Dim Subject_Code As String
    Dim Shelf_Location As String
    Dim Fiction As Boolean
    Dim Price As Decimal
    Dim QDH As Integer
    Dim BooksArray(50) As Book
    Dim BookUBound As Integer
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim I As Integer = 0
        Try
            BooksStreamReader = New StreamReader("C:\Users\Public\Pictures\Books2.Txt")

        Catch ex As Exception
            MessageBox.Show("File Not Found")

        End Try


        'Display combobox ISBNS
        Do While BooksStreamReader.Peek <> -1

            ISBN = BooksStreamReader.ReadLine()
            Title1 = BooksStreamReader.ReadLine()
            Author = BooksStreamReader.ReadLine()
            Publisher = BooksStreamReader.ReadLine()
            Subject_Code = BooksStreamReader.ReadLine()
            Shelf_Location = BooksStreamReader.ReadLine()
            Fiction = BooksStreamReader.ReadLine()
            Price = BooksStreamReader.ReadLine()
            QDH = BooksStreamReader.ReadLine()
            ComboBox1.Items.Add(ISBN)

        Loop
        BookUBound = BooksArray.Length - 1


    End Sub
    Private Sub DisplayRecord()


    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        Form1_Load(sender, e)
        Dim str(200) As String
        Dim selectedindex As Integer = 0

            str(0) = ISBN
            str(1) = Title1
            str(2) = Author
            str(3) = Fiction
            str(4) = Price
            str(5) = QDH
            str(6) = QDH * Price



        If CheckBox1.Checked Then

            Dim itm As New ListViewItem(str)
            ListView1.Items.Add(itm)
        End If


    End Sub
End Class

Вот текстовый файл:

0-671-66398-4
Seven Habits of Highly Effective People
Covey, Stepehn R.
Fireside
BSN
RC-1111
False
 6.99 
 14 
0-934136-27-0
Wine Makers Guide
Nury/Fugelsang
Western Tanager
MST
RC-1112
False
 6.99 
 0 
0-451-16095-9
The Stand
King, Stephen
Signet
MST
RC-1113
True
 7.99 
 0 
0-446-51652-X
Bridges of Madison County
Waller, Robert James
Warner Books
BSS
RC-1114
True
 10.99 
 15 
0-89997-2063
Afoot and Afield in Orange County
Schad, Jerry
Wilderness Press
SLH
RC-1112
False
 11.99 
 7 
0-8041-0753-X
The Kitchen God's Wife
Tan, Amy
Ivy Books
BSS
RC-1114
True
 11.99 
 7 
0-8487-0504-1
Erica Wilson's Quilts of America
Wilson, Erica
Oxmoor House
ART
RC-1112
False
 12.99 
 7 
8423-2218-3
The Way
Null
Tyndale
RLG
RC-1111
False
 12.99 
 0 
0-446-60274-4
The Rules
Fein/Schneider
Warner Books
SLH
RC-1111
False
 14.99 
 1 
0-87826-5299
Know Your Lhaso Apso
Schneider, Earl
The Pet Library LTD
SLH
RC-1112
False
 15.99 
 15 
0-697-12897-0
QuickBasic and QBasic Using Modular Structure
Bradley, Julia Case
B & E Tech
BSN
RC-1111
False
 16.99 
 13 
1-55615-484-4
Code Complete
Mc Connell, Steve
Microsoft Press
BSN
RC-1111
False
 16.99 
 2 

1 Ответ

0 голосов
/ 14 ноября 2010

Это скорее крушение поезда, вы действительно не близко.Предлагаемые исправления:

Structure Book
    Dim ISBN As String
    '' etc
    Public Overrides Function ToString() As String
        Return ISBN
    End Function
End Structure

...
Do While BooksStreamReader.Peek <> -1
    Dim book As New Book
    book.ISBN = BooksStreamReader.ReadLine()
    '' etc
    ComboBox1.Items.Add(book)
Loop
...

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
    If CheckBox1.Checked Then
        Dim book As Book = CType(ComboBox1.SelectedItem, Book)
        Dim item As New ListViewItem(book.ISBN)
        item.SubItems.Add(book.Title)
        '' etc...
        ListView1.Items.Add(item)
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...