listView.Dock = DockStyle.None;
            btnMyStranger.SendToBack();
            btnMyStranger.Dock = DockStyle.Top;
            btnMyColleague.SendToBack();
            btnMyColleague.Dock = DockStyle.Top;
            btnMyFriend.SendToBack();
            btnMyFriend.Dock = DockStyle.Top;
            listView.Dock = DockStyle.Top;
            ////添加项
            listView.Clear();
            Maticsoft.BLL.ZH_Management bll = new Maticsoft.BLL.ZH_Management();
            DataSet ds = bll.GetList("1=1");
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                string id = ds.Tables[0].Rows[0]["id"].ToString();
                string titleName = ds.Tables[0].Rows[i]["Title"].ToString();
                listView.Items.Add(id, titleName, i+1);
            }我想要获取点击那行的id怎么才能获取到啊??

解决方案 »

  1.   

    如果ID 不直接显示在listview 的话 建议楼主把 id 保存在 listviewitem 的 tag 属性中,然后选中的时候 获取 该listviewitem.Tag  就可以了。
      

  2.   

      listView1.SelectedItems[0].Text
      

  3.   

    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
      {
      string id = ds.Tables[0].Rows[0]["id"].ToString();
      string titleName = ds.Tables[0].Rows[i]["Title"].ToString();
      ListViewItem lvi=new ListViewItem();
      lvi.Text=titleName;
      lvi.Tag=id;
      listView.Items.Add(lvi);
      }然后选中的时候 
    listView.SelectedItems[0].Tag; 这样就可以了。
      

  4.   

    listView1.SelectedItems[0].Tag 看你是把这个值绑定到 TAG 还是TEXT 了
      

  5.   

    listView1.SelectedItems[0].Tag 看你是把这个值绑定到 TAG 还是TEXT 了
    up
      

  6.   

    不怎么明白,listView.SelectedItems[0].Tag.ToString();只能获取第一个,SelectedItems这里面的0好像不能变额,要是循环的话该怎么循环,求解
      

  7.   

    或者你可以
            private void listView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                ListView lvi = sender as ListView;
                string str = lvi.FocusedItem.Tag.ToString();
            }这样。 
      

  8.   

    [Quote=引用 8 楼 ziyan2011 的回复:]
    listView1.SelectedItems[0].Tag 看你是把这个值绑定到 TAG 还是TEXT 了
    up
    [uote]
      

  9.   


                List<string> strArray = new List<string>();
                foreach (ListViewItem lvii in listView1.SelectedItems)
                {
                    strArray.Add(lvii.Tag.ToString());
                }
      

  10.   


    你鼠标点一下 难道能点多个么,这个是点一下 就获取你点的那一下的。  要多个的是:  List<string> strArray = new List<string>();
      foreach (ListViewItem lvii in listView1.SelectedItems)
      {
      strArray.Add(lvii.Tag.ToString());
      }