Winform开发常用控件之DataGridView的简单数据绑定——自动绑定

DataGridView控件可谓是Winform开发的重点控件,对于数据的呈现和操作非常方便,DataGridView可谓是既简单又复杂。简单在于其已经集成了很多方法,复杂在于可以使用其实现复杂的数据呈现和操作。

本文是入门级培训,先介绍DataGridView的简单应用,复杂的应用在后续的博文中会一一呈上。

DataGridView主要是呈现数据和数据操作的,那自然离不开数据。

首先是数据绑定,DataGridView的数据源可以是DataSet、DataTable或Ilist等,至于DataSet、DataTable和Ilist是什么东东,后续介绍或者猿们可以在网上自己找找。

1、先介绍一个最简单的VS集成的,不需要写一行代码就可以搞定的数据绑定,以下按照贴图操作就可以了

当然是在窗体上先放一个DataGridView,然后右侧有个箭头,点一下选择数据源,直接添加一个项目数据源

这里的话,如果没有数据链接,就需要新建一个数据链接了

选一个需要在DataGridview里面显示的表和表字段即可,完成后我们会看到窗体、窗体代码和解决方案里面多了一些东西

窗体下方会出现这样的三个东东

private void Form1_Load(object sender, EventArgs e)
        {
            // TODO: 这行代码将数据加载到表“testDataSet.Student”中。您可以根据需要移动或删除它。
            this.studentTableAdapter.Fill(this.testDataSet.Student);
          

        }

窗体代码里会出现这样的一段代码

解决方案目录里会出现一个DataSet,其实这个DataSet就是winform为我们自动封装的数据集,双击一下看看

对了,就是这个东东,封装了Student表,当然还提供了一个TableAdapter的GetData方法。

好了,自动绑定数据就完成了,运行一下看看效果

就是这么简单,不用写一行代码,当然表的列名需要再修改一下,改成中文的了,还是DataGridView右侧箭头,编辑列弹出对话框

选中左侧的列,修改列的HeaderText就可以了,我们还可以看到一个属性DataPropertyName,这个就是对应数据源里面的字段名。以后如果是写代码绑定数据,就需要指定这个属性了,可以在这里指定也可以在代码里指定。

当然这种做法是最简单方便的,但是在实际的程序开发里面使用的比较少了。

从上图中,我们还可以看到一个重要的属性ColumnType,这个是什么尼?就是DataGridView的列显示的数据类型,有下面几种类型,这里介绍一哈

 

说明

DataGridViewTextBoxColumn

与基于文本的值一起使用,在绑定到数字和字符串类型的值时自动生成

DataGridViewCheckBoxColumn

booleancheckState值一起使用,在绑定到这些类型的值时自动生成

DataGridViewImageColumn

用于显示图像,在绑定到字节数组、Image对象或Icon对象自动生成

DataGridViewButtonColumn

用于在单元格中显示按钮,不会在绑定时自动生成,通常用来做未绑定列

DataGridViewComboBoxColumn

用户在单元格中显示下拉列表,不会在绑定时自动生成,通常手动进行数据绑定

DataGridViewLinkColumn

用于在单元格中显示超链接,不会在绑定时自动生成,通常需要进行手动绑定数据

根据我们在列里面需要显示的形式进行选择即可。

转载于:https://www.cnblogs.com/yieryi/p/4609878.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinForm 中,可以通过双向数据绑定来实现 DataGridView 控件数据源之间的数据同步。当数据源的值发生改变时,DataGridView 控件自动刷新显示;当用户在 DataGridView 中修改了数据时,数据源的值也会自动更新。 以下是实现双向数据绑定的步骤: 1. 定义一个实体类,来表示要绑定数据对象,该实体类的属性应该和 DataGridView 中的列一一对应。 ```C# public class Person { public string Name { get; set; } public int Age { get; set; } public string Gender { get; set; } } ``` 2. 在 Form 中创建 DataGridView 控件,并设置其 DataSource 属性为 BindingSource 的实例。 ```C# BindingSource personSource = new BindingSource(); personSource.DataSource = typeof(Person); dataGridView1.DataSource = personSource; ``` 3. 创建一个 Person 对象的实例,并将其绑定到 BindingSource 中。 ```C# Person person = new Person() { Name = "Tom", Age = 20, Gender = "Male" }; personSource.Add(person); ``` 4. 在需要进行双向数据绑定DataGridView 列上,设置其 DataPropertyName 属性为 Person 对象的属性名。 ```C# dataGridView1.Columns["Name"].DataPropertyName = "Name"; dataGridView1.Columns["Age"].DataPropertyName = "Age"; dataGridView1.Columns["Gender"].DataPropertyName = "Gender"; ``` 5. 如果需要在 DataGridView 中修改数据,可以通过 DataGridView 中的 CurrentCellDirtyStateChanged 事件和 CellValueChanged 事件来实现数据源的更新。 ```C# private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dataGridView1.IsCurrentCellDirty) { dataGridView1.CommitEdit(DataGridViewDataErrorContexts.Commit); } } private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && e.ColumnIndex >= 0) { Person person = personSource.Current as Person; personSource.EndEdit(); } } ``` 以上就是在 WinForm 中实现双向数据绑定的基本步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值