• Form DataGridView绑定BindingSource的几种方式


     

    本文链接:https://blog.csdn.net/qq_15138169/article/details/83341076

    在WinForm的开发中,ListView和DataGridView应用的场景都比较,初学的时候绑定数据都是用最简单的一种方式去实现

    1.  
    2. private void NormalAdd()
    3. {
    4.      dataGridView1.Rows.Clear();
    5.      for (int i = 0; i < 10; ++i)
    6.      {
    7.          int index = dataGridView1.Rows.Add();
    8.          dataGridView1.Rows[index].Cells[0].Value = i+"elem1";
    9.          dataGridView1.Rows[index].Cells[1].Value = i+"elem2";
    10.          dataGridView1.Rows[index].Cells[2].Value = i+"elem3";

    dataGridView1.Rows[index].Cells[2].Value = i+"elem4";

    上面的方法其实是最直观的,但是微软还提供其他几种比较优雅一些的方式去绑定数据,就是通过BindingSource来实现,BindingSource看名字就知道干啥用的了。

    public List<ItemBean> list = new List<ItemBean>();

    private void dataList()

    {

        for (int i = 0; i < 10; ++i)

        {

            ItemBean item = new ItemBean();

            item.postion = i.ToString();

            item.item1 = "Listitem1-" + i;

            item.item2 = "Listitem2-" + i;

            item.item3 = "Listitem3-" + i;

            list.Add(item);

        }

        bindingSource1.DataSource = list;

        //DataGridView的列name和对象成员的绑定

        dataGridView1.Columns["Column1"].DataPropertyName = "postion";

        dataGridView1.Columns["Column2"].DataPropertyName = "item1";

        dataGridView1.Columns["Column3"].DataPropertyName = "item2";

        dataGridView1.Columns["Column4"].DataPropertyName = "item3";

    }

    public class ItemBean

    {

        public string postion { get; set; }

        public string item1 { get; set; }

        public string item2 { get; set; }

        public string item3 { get; set; }

    }

    这种是List数据源方式实现绑定

    public DataTable dt = new DataTable("ITEMBEAN");

    private void dataTable()

    {

        dt.Columns.Add("POS", typeof(string));

        dt.Columns.Add("ITEM1", typeof(string));

        dt.Columns.Add("ITEM2", typeof(string));

        dt.Columns.Add("ITEM3", typeof(string));

        for (int i = 0; i < 10; ++i)

        {

            DataRow dr = dt.NewRow();

            dr[0] = i.ToString();

            dr[1] = i.ToString() + "_Table单元1";

            dr[2] = i.ToString() + "_Table单元2";

            dr[3] = i.ToString() + "_Table单元3";

            dt.Rows.Add(dr);

        }

        bindingSource1.DataSource = dt;

        dataGridView1.Columns["Column1"].DataPropertyName = "POS";

        dataGridView1.Columns["Column2"].DataPropertyName = "ITEM1";

        dataGridView1.Columns["Column3"].DataPropertyName = "ITEM2";

        dataGridView1.Columns["Column4"].DataPropertyName = "ITEM3";

    }

    这个的是DataTable的方式,其他的还有几种,大家可以自己去试一试,这两种的在实际项目中应用场景应该比较多一些。



  • 相关阅读:
    HttpInvoker GET/POST方式
    maven命令
    java内存简单描述
    零零碎碎之SPU与SKU
    ZooKeeper的ACL权限
    ZooKeeper常用命令行操作
    Zookeeper基本数据模型
    ZooKeeper的安装及部署
    ZooKeeper原理及介绍
    Shell脚本编程(一)
  • 原文地址:https://www.cnblogs.com/wfy680/p/12004514.html
Copyright © 2020-2023  润新知