2017-05-18 21 views
1

領収書を作成しようとしていますが、ListViewのテキストまたは項目をラベルにする方法が問題です。ListViewの行ごとに項目を取得してCにラベルを付ける#

これは、私はあなたがリストを介して2つのループを実行する必要があります

private void button8_Click(object sender, EventArgs e) 
{ 
    Form2 frm2 = new Form2(); 
    foreach (ListViewItem itemRow in this.listView1.Items) 
    { 
     { 
      frm2.label1.Text = itemRow.SubItems[0].Text; 
      frm2.label2.Text = itemRow.SubItems[1].Text; 
      frm2.label3.Text = itemRow.SubItems[2].Text; 
      frm2.label4.Text = itemRow.SubItems[3].Text; 
      frm2.Show(); 
     } 
    } 
} 
+0

エラーをトリガない項目がない場合? – Coding4Fun

+0

それは動作しますが、どのように私は2番目の行を取得するのですか?またはすべての行 – Magillanica

+0

はい、コードを改善する必要があります。 listView1に複数の要素がある場合、foreach内の各繰り返しがラベルのテキストを上書きします – Coding4Fun

答えて

1

を試みたものです。結果を配列に追加しましたが、収集したデータで必要な処理を実行できます。特定のラベルに配置しようとしている場合は、以下のコードを使用できます。

int x; 
foreach (ListViewItem itemRow in this.listView1.Items) 
{ 
    x = 1; 
    switch(x) 
    { 
     case 1: 
     { 
      for (int i = 0; i < itemRow.SubItems.Count; i++) 
      { 
       frm2.label1.Text = itemRow.SubItems[i].Text; 
       frm2.label2.Text = itemRow.SubItems[i].Text; 
       frm2.label3.Text = itemRow.SubItems[i].Text; 
       frm2.label4.Text = itemRow.SubItems[i].Text; 
      } 
     } 
     case 2: 
     { 
      for (int i = 0; i < itemRow.SubItems.Count; i++) 
      { 
       frm2.label5.Text = itemRow.SubItems[i].Text; 
       frm2.label6.Text = itemRow.SubItems[i].Text; 
       frm2.label7.Text = itemRow.SubItems[i].Text; 
       frm2.label8.Text = itemRow.SubItems[i].Text; 
      } 
     } 
    x++; 

    } 
} 
+0

ありがとうございます。しかし、どのように各 'SubItems'にラベルを付けるようにテキストを設定しますか? 2行目の 'SubItems'を取得し、テキストをラベルにも設定しますか? – Magillanica

+0

特定のラベルに配置しようとしている場合は、更新されたコード – Jelani

+0

を使うことができます。 'SubItem [1]'はテキストを設定するだけです。私は休憩なしにエラーが発生したので – Magillanica

0
List<object> myListOfSubItems = new List<object>(); 

    foreach (ListViewItem item in ListView1.Items) 
    { 
     myListOfSubItems.AddRange(item.SubItems); 
    } 
+0

ありがとうございます。 – Magillanica

0

私はこれを試み、それが働いていたが、2番目の行は、それが動作するかどうか

frm2.label2.Text = listView1.Items[0].SubItems[1].Text; frm2.label3.Text = listView1.Items[1].SubItems[0].Text;

関連する問題