您的位置:首页 > 其它

在Winform中向DataGridView控件添加数据的三种方式

2017-05-31 20:46 615 查看
在Winform中向DataGridView控件添加数据很常用到,现总结3种填充DataGridView方法:

1.利用SqlDataAdapter对象向DataGridView中添加数据

关键代码:(可以将该代码放到窗体加载事件的方法中)

using (SqlDataAdapter da = new SqlDataAdapter("select * from Product", DBService.Conn))

{

      DataSet ds = new DataSet();

      da.Fill(ds);

      this.dataGridView1.DataSource = ds.Tables[0];

}

2. 利用SqlDataReader填充DataGridView

关键代码:

 //使用SqlDataReader填充DataGridView

using (SqlCommand command = new SqlCommand("select * from product", DBService.Conn))

{

      SqlDataReader dr = command.ExecuteReader();

      BindingSource bs = new BindingSource();

      bs.DataSource = dr;

      this.dataGridView1.DataSource = bs;

}

备注:在很多情况下,BindingSource对象起到一个过渡的作用,因为SqlDataReader对象直接赋给DataGridView

时,不能正常显示数据,所以利用BindingSource对象做一个绑定。

3.利用泛型集合向DataGridView中添加数据

关键代码:(List<>泛型集合)

        private void Form1_Load(object sender, EventArgs e)

        {

            //使用List<>泛型集合填充DataGridView

            List<Student> students = new List<Student>();

            Student hat = new Student("Hathaway", "12", "Male");

            Student peter = new Student("Peter","14","Male");

            Student dell = new Student("Dell","16","Male");

            Student anne = new Student("Anne","19","Female");

            students.Add(hat);

            students.Add(peter);

            students.Add(dell);

            students.Add(anne);

            this.dataGridView1.DataSource = students;

        }

关键代码:(Dictionary<>泛型集合,与List<>泛型集合略有不同)

        private void Form1_Load(object sender, EventArgs e)

        {

            //使用Dictionary<>泛型集合填充DataGridView

            Dictionary<String, Student> students = new Dictionary<String, Student>();

            Student hat = new Student("Hathaway", "12", "Male");

            Student peter = new Student("Peter","14","Male");

            Student dell = new Student("Dell","16","Male");

            Student anne = new Student("Anne","19","Female");

b17e

            students.Add(hat.StuName,hat);

            students.Add(peter.StuName,peter);

            students.Add(dell.StuName,dell);

            students.Add(anne.StuName,anne);

     //在这里必须创建一个BindIngSource对象,用该对象接收Dictionary<>泛型集合的对象

            BindingSource bs = new BindingSource();

     //将泛型集合对象的值赋给BindingSourc对象的数据源

            bs.DataSource = students.Values;

            this.dataGridView1.DataSource = bs;

        }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐