Отображать записи ArrayList в многострочном TextBox - PullRequest
2 голосов
/ 27 октября 2011

У меня проблема с отображением содержимого из ArrayList (), хранящегося как:

private void btnEnter_Click(object sender, EventArgs e)
{
    public ArrayList books = new ArrayList();
    books = new ArrayList();

    // first I am just using lebels for easier input.
    books.Add(new Book(label1.Text, label2.Text, label3.Text, label4.Text, float.Parse(label5.Text)));
}

Как мы видим, я использую конструктор для хранения данных с 5 элементами. Проблема в том, что я не уверен, как отобразить данные с помощью цикла foreach:

public ArrayList books;
public BookList()
{
    InitializeComponent();

    foreach (string data in books)
        txtBookList.Text = data.ToString();
}

Я пытаюсь отобразить содержимое в многострочном текстовом поле, и я не уверен, что я делаю неправильно. Любые советы?

Вот код для конструктора Book ():

public Book(string title, string firstName, string lastName, string publisherName, float price)
: base(title, publisherName, price)
{
    this.authorFirstName = firstName;
    this.authorLastName = lastName;
} 

- РЕДАКТИРОВАТЬ - Один человек указал, что я хочу отображать ArrayList в виде объектов. Как бы я это сделал?

С уважением.

HelpNeeder

Ответы [ 2 ]

1 голос
/ 27 октября 2011

У вас здесь есть пара проблем - главная из них в том, что ваши книги ArrayList - это не набор строк, а набор объектов книг.Следовательно, ваш цикл foreach должен перебирать объекты книги вместо строк:

    foreach (Book b in books)
    {
        txtBookList.Text += b.authorFirstName;
        txtBookLIst.Text += b.authorLastName;
    }

Вторая проблема заключается в том, что вы пытаетесь присвоить строковое значение переменной txtBookList, которая, как я предполагаю, является текстовым полем.Попробуйте вместо этого использовать свойство Text и использовать оператор + = для добавления новых строк к значению, как указано выше.

1 голос
/ 27 октября 2011

Если это для Windows Forms, взгляните на свойство TextBox.Lines . Это должно помочь вам отобразить несколько строк в текстовом поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...