当前位置 : 主页 > 网络编程 > c#编程 >

C#如何实现dataGridView动态绑定数据

来源:互联网 收集:自由互联 发布时间:2023-01-31
目录 dataGridView动态绑定数据 1.动态绑定DataTable数据 2.动态添加数据 datagridView数据插入 dataGridView动态绑定数据 1.动态绑定DataTable数据 DataGridView dgv = new DataGridView();DataTable dt = new DataTabl
目录
  • dataGridView动态绑定数据
    • 1.动态绑定DataTable数据
    • 2.动态添加数据
  • datagridView数据插入

    dataGridView动态绑定数据

    1.动态绑定DataTable数据

    DataGridView dgv = new DataGridView();
    DataTable dt = new DataTable();//DataGridView未设置列名信息的时候可以直接指定DataSource
    dt.Columns.Add("姓名", Type.GetType("System.String"));
    dt.Columns.Add("性别", Type.GetType("System.String"));
    dt.Columns.Add("年龄", Type.GetType("System.Int16"));
    //====================添加行数据方法1============================
    //dt.Rows.Add(new object[]{"张三","男",22});
    //dt.Rows.Add(new object[]{"李四","女",20});
    //====================添加行数据方法1============================
    //====================添加行数据方法2============================
    DataRow dr = dt.NewRow();
    dr[0] = "张三";
    dr[1] = "男";
    dr[2] = 22;
    dt.Rows.Add(dr); 
    DataRow dr2 = dt.NewRow();
    dr2[0] = "李四";
    dr2[1] = "女";
    dr2[2] = 20;
    dt.Rows.Add(dr2);                                      
    //====================添加行数据方法2============================ 
                     
    dgv.DataSource = dt;
    

    2.动态添加数据

    已经在界面中定义了一个DataGridView控件名叫dgv,并且添加好了列名

    //DataGridView已经在可视化界面设置好列名后不能再指定DataSource(指定了显示会走样)
    string[] names = { "张三", "李四" };
    string[] sexs = { "男", "女" };
    int[] ages = { 22, 20 };
    for (int i = 0; i < names.Length; i++)
    {
        dgv.Rows.Add();
        dgv.Rows[i].Cells[0].Value = names[i];
        dgv.Rows[i].Cells[1].Value = sexs[i];
        dgv.Rows[i].Cells[2].Value = ages[i];
    }  
    //====================添加单行可使用============================ 
     //DataGridViewRow dgr = new DataGridViewRow();
    //int index = dgv.Rows.Add(dgr);
     //dgv.Rows.Add();
    //dgv.Rows[index].Cells[0].Value = names[0];
     //dgv.Rows[index].Cells[1].Value = sexs[0];
    //dgv.Rows[index].Cells[2].Value = ages[0];
    //====================添加单行可使用============================ 
    

    datagridView数据插入

    private void button1_Click(object sender, EventArgs e)
            {
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                ds.Tables.Add(dt);
                dt.Columns.Add("name");             //添加类标题
                dt.Columns.Add("sex");
                dt.Columns.Add("address");
     
                DataRow dr = dt.NewRow();
                dr["name"] = "dsads";
                dr["sex"] = "12312";
                dr["address"] = "32132";
                dt.Rows.Add(dr);                //添加行信息
                dt.Rows.Add(dr[0]);
                dt.Rows.Add(dr[0]);
                dt.Rows.Add(dr[0]);
     
                dataGridView1.DataSource = ds.Tables[0];
            }
                string r = bytesLoaded;
                var person = JObject.Parse(r);
                var columns = JArray.FromObject(person["columns"]);
                var rows = JArray.FromObject(person["rows"]);
     
                DataSet ds = new DataSet();
                DataTable dt = new DataTable();
                ds.Tables.Add(dt);
                foreach (var item in columns)
                {
                    dt.Columns.Add(item["name"].ToString());
                }
     
                foreach (var item in rows)
                {
                    DataRow dr = dt.NewRow();
     
                    for (int i = 0; i < columns.Count; i++)
                    {
                        dr[columns[i]["name"].ToString()] = item[i].ToString();
                    }
                    dt.Rows.Add(dr);                //添加行信息
                }
                dataGridView1.DataSource = ds.Tables[0];

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    上一篇:C#泛型字典Dictionary的使用详解
    下一篇:没有了
    网友评论