未分類

【C# ListView】アイテムをカンマ区切りの文字列に変換する (1)

準備

(なし)

デザイン

1. フォーム (Form1) にボタン (button1) を配置します。
2. フォーム (Form1) にリストビュー (listView1) を配置します。

サンプルコード (C#)

// 名前空間の追加
// (なし)

// コード
private void Form1_Load(object sender, EventArgs e)
{
  listView1.View = View.Details;
  listView1.Columns.Add("メーカー", 100, HorizontalAlignment.Left);
  listView1.Columns.Add("パソコン名", 100, HorizontalAlignment.Left);
  listView1.Items.Add("NEC").SubItems.Add("ValueStar");
  listView1.Items.Add("SONY").SubItems.Add("VAIO");
  listView1.Items.Add("DELL").SubItems.Add("Precision");
}

private void button1_Click(object sender, EventArgs e)
{
  string sWork;

  foreach (ListViewItem lvi in listView1.Items)
  {
    sWork = "";
    foreach (ListViewItem.ListViewSubItem item in lvi.SubItems)
    {
      sWork += item.Text;
      sWork += ",";
    }
    sWork = sWork.TrimEnd(',');
    listBox1.Items.Add(sWork);
  }
}

解説

Form_Load イベントでは対象となるデータをリストビューに追加しているだけです。button1 をクリックすると、行ごとにアイテムをカンマ区切りの文字列として作成します。その際、サブアイテムごとにカンマを付与しますが、ループ処理の都合上、最後のアイテムにもカンマが付いてしまいますので、ループ処理終了後に TrimEnd メソッドで除去しています。

結果

動作確認環境

Visual Studio 2015 Professional (C# 6.0)

-未分類