winform中 listview几种最常见的用法

来源:互联网 发布:大数据实战项目 编辑:程序博客网 时间:2024/06/04 23:18

工作之余总结了几种listview最常见的几种用法,供初学者使用,其他的不用说了,看代码吧,相信你一看就会…… 

/// <summary>
        /// 利用datatable添加记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            DataTable dt = new DataTable();
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("sex", typeof(string));
            dt.Columns.Add("age", typeof(string));
            dt.Columns.Add("address", typeof(string));
            dt.Columns.Add("jiguan", typeof(string));
            string[] str = new string[] { "张三", "男", "20", "郑州", "汉族" };
            string[] str1 = new string[] { "李四", "男", "20", "郑州", "汉族" };
            string[] str2 = new string[] { "王五", "男", "20", "郑州", "汉族" };
            dt.Rows.Add(str);
            dt.Rows.Add(str1);
            dt.Rows.Add(str2);
            foreach (DataRow dr in dt.Rows)
            {
                ListViewItem liv = new ListViewItem();
                liv.SubItems[0].Text = dr["name"].ToString();
                liv.SubItems.Add(dr["sex"].ToString());
                liv.SubItems.Add(dr["age"].ToString());
                liv.SubItems.Add(dr["address"].ToString());
                liv.SubItems.Add(dr["jiguan"].ToString());
                listView1.Items.Add(liv);
            }                   

        }
        //一条条添加记录
        private void button2_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            ListViewItem lvi = new ListViewItem();
            lvi.SubItems[0].Text = "小明";
            lvi.SubItems.Add("男");
            lvi.SubItems.Add("10");
            lvi.SubItems.Add("郑州");
            lvi.SubItems.Add("汉族");


            ListViewItem lvi1 = new ListViewItem();
            lvi1.SubItems[0].Text = "小";
            lvi1.SubItems.Add("男1");
            lvi1.SubItems.Add("101");
            lvi1.SubItems.Add("郑州1");
            lvi1.SubItems.Add("汉族1");
          
            listView1.Items.Add(lvi);
            listView1.Items.Add(lvi1);

        }
        //绑定数据库
        private void button3_Click(object sender, EventArgs e)
        {
            listView1.Items.Clear();
            string strconn="Data Source=.;Initial Catalog=listviewtest;User ID=sa;Password=sa";
            SqlConnection conn = new SqlConnection(strconn);
            conn .Open();
            string strsql = "select * from dbo.[user]";
            SqlDataAdapter da = new SqlDataAdapter(strsql,conn);
            DataTable dt = new DataTable();
            da.Fill(dt);

            foreach (DataRow dr in dt.Rows)
            {
                ListViewItem lvi = new ListViewItem();
                lvi.SubItems[0].Text = dr["name"].ToString();
                lvi.SubItems.Add(dr["sex"].ToString());
                lvi.SubItems.Add(dr["age"].ToString());
                lvi.SubItems.Add(dr["address"].ToString());
                lvi.SubItems.Add(dr["jiguan"].ToString());

        
                //lvi.SubItems[0].Text = dr[0].ToString();
                //lvi.SubItems.Add(dr[1].ToString());
                //lvi.SubItems.Add(dr[2].ToString());
                //lvi.SubItems.Add(dr[3].ToString());
                //lvi.SubItems.Add(dr[4].ToString());


                listView1.Items.Add(lvi);
            }
           
        }
        /// <summary>
        /// 显示选中行的值
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button4_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                ListViewItem lvi = listView1.SelectedItems[0];
                MessageBox.Show(lvi.SubItems[0].Text);
            }
        }
        /// <summary>
        /// 将listview的值放到datatable中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button5_Click(object sender, EventArgs e)
        {
            int i, j;
            DataTable dt = new DataTable();
            DataColumn dc;
            DataRow dr;
            for (i = 0; i < listView1.Columns.Count; i++)
            {
                dc = new DataColumn();
                dc.ColumnName = listView1.Columns[i].Text.Trim();

                dt.Columns.Add(dc);
            }
            for (i = 0; i < listView1.Items.Count; i++)
            {
                dr = dt.NewRow();

                for (j = 0; j < listView1.Columns.Count; j++)
                {
                    dr[j] = listView1.Items[i].SubItems[j].Text.Trim();
                }
                dt.Rows.Add(dr);
            }
            dataGridView1.DataSource = dt;
       }
        /// <summary>
        /// 将listview中的数据显示到另一个listview中
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button6_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < listView1.Items.Count; i++)
            {
                ListViewItem lvi = listView1.Items[i];
               // listView2.Items.Add(lvi.Clone() as ListViewItem);

                listView2.Items.Add(new ListViewItem() { Text = lvi.Text });

                for (int j = 0; j < listView1.Columns.Count; j++)
                {
                    listView2.Items[i].SubItems.Add(new ListViewItem.ListViewSubItem(){ Text = listView1.Items[i].SubItems[j+1].Text });
                }
               

            }
        }

    }

原创粉丝点击