c# winform 获取listview 选中行某列的值

给listview填充数据:           
for (int i = 0; i < 5; i++)
            {
                ListViewItem lvitem = new ListViewItem();
                lvitem.SubItems[0].Text = i.ToString();
                lvitem.SubItems.Add("项目编号"+i.ToString());
                lvitem.SubItems.Add("项目名称" + i.ToString());
                lvitem.SubItems.Add("项目负责人" + i.ToString());
                lvitem.SubItems.Add("项目年度-" + i.ToString());
                listView1.Items.Add(lvitem);
            }
 
将listview选中行的第一列的值输出
private void lvAccountList_SelectedIndexChanged(object sender, EventArgs e)
{
//在此处设断点,发现点击不同的Item后,此事件居然执行了2次 //第一次是取消当前Item选中状态,导致整个ListView的SelectedIndices变为0
//第二次才将新选中的Item设置为选中状态,SelectedIndices变为1
//如果不加listview.SelectedIndices.Count>0判断,将导致获取listview.Items[]索引超界的异常

if (listview.SelectedIndices != null && listview.SelectedIndices.Count>0)
{
ListView.SelectedIndexCollection c = listview.SelectedIndices;
lblTitle.Text = listview.Items[c[0]].Text;
}
}

  

posted on 2014-03-13 04:05  nanphon  阅读(16231)  评论(1编辑  收藏  举报

导航