Winform 绑定ListView控件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform 绑定ListView控件相关的知识,希望对你有一定的参考价值。

实现如上图效果

listView1.Items.Clear();
StringBuilder Sql = new StringBuilder();
Sql.Append(" SELECT gysname, gysdate FROM [BBJXC].[dbo].GYS");
DataTable dt = PClass.DbOpClass.GetDataSet(Sql.ToString());
listView1.Groups.Add(new ListViewGroup("元数据", HorizontalAlignment.Left));

接着该怎么写???

参考技术A listView1.item.add追问

次凹~跟没说一样

参考技术B listView1.item.add追问

次凹~跟没说一样

参考技术C 先写一个返回DataSet的方法,返回你要绑定的那张表的数据,把DataSet作为数据源给listView,绑定就好啦

WinForm ListView控件

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            

            //设置该listview关联的imagelist
            listView1.LargeImageList = imageList2;
            listView1.SmallImageList = imageList1;

            //显示详细信息
            listView1.View = View.Details;

            //添加组
            ListViewGroup lg1 = new ListViewGroup();
            lg1.Header = "一组";
            lg1.Name = "one";
            listView1.Groups.Add(lg1);
            ListViewGroup lg2 = new ListViewGroup();
            lg2.Header = "二组";
            lg2.Name = "two";
            listView1.Groups.Add(lg2);

            //添加列
            listView1.Columns.Add("代号");
            listView1.Columns.Add("姓名");
            listView1.Columns.Add("生日");

            //选中整行
            listView1.FullRowSelect = true;

            //显示checkbox
            listView1.CheckBoxes = true;

            //添加项,listview每一条数据称为一项
            InfoDA da = new InfoDA();
            List<Info> list = da.Select();

            foreach (Info data in list)
            {
                //造主项
                ListViewItem zhuxiang = new ListViewItem();
                zhuxiang.Text = data.Code;
                zhuxiang.ImageIndex = 0;
                zhuxiang.Group = listView1.Groups[0];

                //造子项
                ListViewItem.ListViewSubItem zi1 = new ListViewItem.ListViewSubItem();
                zi1.Text = data.Name;
                zhuxiang.SubItems.Add(zi1);

                ListViewItem.ListViewSubItem zi2 = new ListViewItem.ListViewSubItem();
                zi2.Text = data.Birthday.ToString("yyyy-MM-dd"); ;
                zhuxiang.SubItems.Add(zi2);


                //添加项
                listView1.Items.Add(zhuxiang);

            }


            foreach (Info data in list)
            {
                //造主项
                ListViewItem zhuxiang = new ListViewItem();
                zhuxiang.Text = data.Code;
                zhuxiang.ImageIndex = 1;
                zhuxiang.Group = listView1.Groups[1];

                //造子项
                ListViewItem.ListViewSubItem zi1 = new ListViewItem.ListViewSubItem();
                zi1.Text = data.Name;
                zhuxiang.SubItems.Add(zi1);

                ListViewItem.ListViewSubItem zi2 = new ListViewItem.ListViewSubItem();
                zi2.Text = data.Birthday.ToString("yyyy-MM-dd"); ;
                zhuxiang.SubItems.Add(zi2);


                //添加项
                listView1.Items.Add(zhuxiang);

            }


        }

        private void button1_Click(object sender, EventArgs e)
        {
            listView1.View = View.Details;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            listView1.View = View.LargeIcon;
        }

        private void button3_Click(object sender, EventArgs e)
        {
            listView1.View = View.SmallIcon;
        }

        private void button4_Click(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                MessageBox.Show(listView1.SelectedItems[0].Text);
            }
        }

        private void button5_Click(object sender, EventArgs e)
        {
            //listView1.CheckBoxes = true;
        }

        private void button6_Click(object sender, EventArgs e)
        {
            string s = "";

            foreach (ListViewItem item in listView1.CheckedItems)
            {
                s += item.Text+"--";
            }

            MessageBox.Show(s);
        }
    }
}

 

以上是关于Winform 绑定ListView控件的主要内容,如果未能解决你的问题,请参考以下文章

c#winform listview绑定图片

C# winform程序 绑定listView1控件值(对应数据库表中的字段名) 循环绑定 insert into 语句中的到吗问题...

winform中ListView绑定问题

WinForm LIstView

winform 自定义tooltip字体,样式适合各种控件(listview,datagridview)

C#如何让listview可编辑 winform