ListviewItems aren't aware of your listview columns.
In order to directly reference the column, you first need to add all the columns to the listviewItem.
So... lets say your ListView has three columns A,B & C
this next bit of code will only add data to column a:
ListViewItem item = new ListViewItem();
item.text = "Column A";
m_listView.Items.Add(item);
To get it to add text to column C as well, we first need to tell it it has a column B...
ListViewItem item = new ListViewItem();
item.text = "Column A";
item.SubItems.Add("");
item.SubItems.Add("Column C");
m_listView.Items.Add(item);
So now we'll have columns A,B & C in the listviewItem, and text appearing in the A and & Columns, but not the B.
Finally.. now we HAVE told it it has three columns, we can do whatever we like to those specific columns...
ListViewItem item = new ListViewItem();
item.text = "Column A";
item.SubItems.Add("");
item.SubItems.Add("Column C");
m_listView.Items.Add(item);
m_listView.Items[0].SubItems[2].Text = "change text of column C";
m_listView.Items[0].SubItems[1].Text = "change text of column B";
m_listView.Items[0].SubItems[0].Text = "change text of column A";
hope that helps!