日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WinForm ListView

發(fā)布時(shí)間:2024/4/17 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WinForm ListView 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  今天,我學(xué)習(xí)了公共控件中的ListView的內(nèi)容。

  首先,在利用ListView布置界面時(shí),有以下三個(gè)方面:

  1、視圖:?
? ? ? ? ? ?在其右上方小箭頭點(diǎn)擊將視圖改為Details;或者右鍵屬性在外觀View將其改為Details。
  2、設(shè)置列頭:
? ? ? ? ? ?在其右上方小箭頭點(diǎn)擊選擇編輯列,然后添加列名;或右鍵屬性-行為-Columns。
  3、添加行數(shù)據(jù)?
? ? ? ? ? ?在其右上方小箭頭點(diǎn)擊選擇編輯項(xiàng),然后將屬性Text改名,即第一列,添加成員即其它列;或右鍵屬性-行為-Items。

  在進(jìn)行數(shù)據(jù)庫的鏈接時(shí),有五個(gè)方面的內(nèi)容:

  1、窗體加載后自動(dòng)綁定顯示ListView中的數(shù)據(jù)。

  辦法:數(shù)據(jù)綁定代碼寫在窗體的構(gòu)造函數(shù)中。

  窗體中的代碼:

     public Form1(){InitializeComponent();DataBind();}public void DataBind(){listView1.Items.Clear();//1、將全部數(shù)據(jù)取出來List<Users> list = new UsersData().Select();int a = 1;//2、將數(shù)據(jù)導(dǎo)入到ListView中去foreach (Users u in list){ListViewItem li = new ListViewItem();li.Text = a.ToString();li.SubItems.Add(u.UserName);li.SubItems.Add(u.PassWord);li.SubItems.Add(u.NickName);li.SubItems.Add(u.SetStr);li.SubItems.Add(u.BirthdayStr);li.SubItems.Add(u.NationName);listView1.Items.Add(li);a++;}}

  數(shù)據(jù)訪問類UsersData中的代碼:

     SqlConnection conn = null;SqlCommand cmd = null;public UsersData(){conn = new SqlConnection("server=.;database=Data0720;user=sa;pwd=123");cmd = conn.CreateCommand();}public List<Users> Select(){List<Users> list = new List<Users>();cmd.CommandText = "select *from Users";conn.Open();SqlDataReader dr = cmd.ExecuteReader();if (dr.HasRows){while (dr.Read()){Users u = new Users(){UserName = dr[0].ToString(),PassWord = dr[1].ToString(),NickName = dr[2].ToString(),Sex = Convert.ToBoolean(dr[3]),Birthday = Convert.ToDateTime(dr[4]),Nation = dr[5].ToString()};list.Add(u);}}conn.Close();return list;}

  2、給用戶展示最終用戶可以看得懂的數(shù)據(jù),如:性別(男/女),生日(2000/01/20)。

  辦法:利用屬性擴(kuò)展,再封裝一個(gè)string類。

  3、在每一條所展示的數(shù)據(jù)前添加行號(hào)。

  辦法:用C#變量循環(huán)++來實(shí)現(xiàn)。

  4、數(shù)據(jù)重復(fù)綁定。(重復(fù)點(diǎn)擊“查詢”按鈕,刷新查詢結(jié)果)

  辦法:在綁定之前清空Items集合。

  listView1.Items.Clear();

  5.選中一行數(shù)據(jù)

  外觀:FullRowSelect:選擇其中一項(xiàng)是否選中整行

? ? ? ?   CheckBoxes:復(fù)選框

? ? ? ?   GridLines:網(wǎng)格線

  行為:HideSelection :當(dāng)控件沒有焦點(diǎn)時(shí),是否移除選定項(xiàng)的突出顯示

? ? ? ?   HeaderStyle:列表頭的樣式

? ? ? ?   HoverSelection :鼠標(biāo)懸浮在項(xiàng)上選擇項(xiàng),不好用,需停頓一會(huì),通常與CheckBoxes連用?

  

  重點(diǎn):

  1、數(shù)據(jù)如何綁定上去

  2、如何將選中的數(shù)據(jù)取出來

  (1)一個(gè)是FullRowSelect屬性為True可以選擇整行數(shù)據(jù)(ListView1.SelectedItems)

  if (listView1.SelectedItems.Count > 1)//選擇了多行
  {
    MessageBox.Show("修改只允許選擇一行");
  }
  else if (listView1.SelectedItems.Count == 1)
  {
    foreach (ListViewItem li in listView1.SelectedItems)
    {
      if (li.Selected)
      {
        MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);
      }
    }
  }
  else//未選中
  {
    MessageBox.Show("請(qǐng)先選中您要修改的數(shù)據(jù)");
  }
  (2)另一個(gè)是CheckBoxes屬性為True時(shí),可以按照復(fù)選框來選擇整行數(shù)據(jù)(ListView1.CheckedItems)
  foreach (ListViewItem li in listView1.CheckedItems)
  {
    if (li.Checked)
    {
      MessageBox.Show(li.SubItems[0].Text + li.SubItems[1].Text + li.SubItems[2].Text + li.SubItems[3].Text + li.SubItems[4].Text + li.SubItems[5].Text);
    }
  }

轉(zhuǎn)載于:https://www.cnblogs.com/hongsen3/p/5907724.html

總結(jié)

以上是生活随笔為你收集整理的WinForm ListView的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。