text: Q:
  
  Select the specific column of ListView and print it in a new messagebox in C#.net
  
  I've just started to use ListView in C#.net.
  I got to know how to add items and subitems. Going through the listview I wanted to fetch all the data from a whole column with multiple rows.
  I want to know how to do this.
  I found this code to list a specific selected data from a row:
  ListView.SelectedIndexCollection sel = listView1.SelectedIndices;
          if (sel.Count == 1)
          {
              ListViewItem selItem = listView1.Items[sel[0]];
              MessageBox.Show(selItem.SubItems[2].Text);
          }
  
  That was helpful but i want to list all the items in a row, may be i want to add all the column items in array?
  
  A:
  
      private string[] GetListViewItemColumns(ListViewItem item) {
          var columns = new string[item.SubItems.Count];
          for (int column = 0; column < columns.Length; column++) {
              columns[column] = item.SubItems[column].Text;
          }
          return columns;
      }
  
  I would recommend some caution against doing this.  A ListView is really meant to display information, it is not a great collection class.  Getting the data out of it is slow and crummy, it can only store strings.  Keep the data in your program in its original form, maybe a List<Foo>.  Now it is simple and fast.
  
  