1

私のアプリはテキスト ファイルを読み取り、ListView に値を設定します。次のように、非常に簡単です。

Date     | Invoice   | Status  
20121015 | 123123    |  
20121015 | 123124    | 
20121015 | 123456    |  
20121015 | 124123    |  

次に、2 番目のテキスト ファイルを読み取る必要があります。このファイルには、ListView で見つかった請求書とステータスが含まれている場合と含まれていない場合があります。一致する請求書がある場合、その 2 番目のテキスト ファイルのステータスを ListView に追加する必要があるため、次のようになります。

Date     | Invoice   | Status  
20121015 | 123123    |  
20121015 | 123124    | 
20121015 | 123456    | Paid 
20121015 | 124123    |  

もともと私は請求書番号のみのListBoxを持っていて、やっていた

int index = ListBox1.FindString(<whatever>);

請求書を含む行のインデックスを取得し、アイテムを削除して (RemoveAt(Index))、次のような新しいアイテムを挿入します

ListBox.Items.Insert(index, invoice + " PAID")

ListView で同様のことを行うにはどうすればよいですか? 1 行のテキストではなく、列を持つというアイデアが気に入っています。これを実現するには、ListView 以外のものを使用する必要がありますか?

平均して、私が読んでいる各テキスト ファイルには、追加する必要がある行が 1000 行未満あります。

4

1 に答える 1

5

Itemsリストビューのコレクションを列挙できます。はい、リストビューはこれに理想的なコントロールです。

foreach (ListViewItem item in listView1.Items)
{
    var invoice = item.SubItems[1];
    if (invoice.Text == "whatever")
    {
        item.SubItems[2] = new ListViewItem.ListViewSubItem() { Text = "Paid" };
        break;
    }
}
于 2012-11-01T18:23:10.577 に答える