0

そのため、テキストファイルを Windows フォームにロードすることについて読んだほとんどのことは、それを単一次元の文字列配列にロードすることを示しています。しかし、それが 2 次元配列であれば、よりうまく機能するようにしたい機能がいくつかあります。この例では、ISBN、著者、タイトル、年、価格の本のカタログがあります。最も高価な本と最も安価な本に関するデータをコンパイルできるようにしたい (これは、ユーザー エントリ用に持っている配列から既に実行できます)、タイトル、isbn などで配列を検索できるようにしたいと考えています。また、複数列のリストビューに表示しています。

テキストファイル (改行で区切られた新しいレコードで、タブ ('\t') で区切られている) を読み込んで、複数列のリストビューに表示するために私が持っているものは次のとおりです。これを 2D 配列にロードするにはどうすればよいですか? どのように表示しますか?どんな助けでも素晴らしいでしょう。

static FileStream textFile = new FileStream("booklist.txt",
            FileMode.OpenOrCreate, FileAccess.ReadWrite);
    StreamReader reader = new StreamReader(textFile);
    StreamWriter writer = new StreamWriter(textFile);
    const char DELIM = '\t';
    //string[] booksTextArray;
    string line = "";
    string[] items;
    ListViewItem listItem;

// the load button
private void LoadButton_Click(object sender, EventArgs e)
    {
        // loads text file with existing book catalog
        while((line = reader.ReadLine()) != null)
        {
            items = line.Split('\t'); //Split the line.
            listItem = new ListViewItem(); //"Row" object.
            for (int i = 0; i < items.Length; i++)
            {
                if (i == 0)
                {
                    listItem.Text = items[i]; //First item is not a "subitem".
                }
                else
                {
                    listItem.SubItems.Add(items[i]); //Add it to the "Row" object.
                }
            }
            listView1.Items.Add(listItem); //Add the row object to the listview.
            status_label.Text = "Load successful.";
        }
    }
4

0 に答える 0