vs2010 datagridview 如何绑定数据库_C# DataGridView数据绑定的问题 (绑定数据经验分享)

2023-09-17 12:17

vs2010之DataGridView使用

Data控件与access数据库结合,其数据可视化程度很高,其数据加载可以直接用load函数实现。十分实用

在用.Net开发做Winform程序的时候,显示数据信息,无疑Datagridview是最方便的,

但在使用的时候还是有一些经验需要总结的,希望本文能帮助大家少走一些弯路。

1. DataSource选择问题

2.数据清空的问题

3.DatagridView列属性绑定的问题

?

1)首先说一说DataSource的选择,一般可以选择DataTable或者List进行绑定,这两个都没有问题。

区别:DataTable绑定Datagridview列名的时候是绑定的table的列名称,

?????????? 而List需要是一个对象的列表如List,绑定Datagridview列名对应的是Dog的属性名称。

注意:应该是区分大小写的。

2)再来说说数据清空的问题,这个问题刚开始学习使用这个控件的时候是最容易犯的问题,第一次绑定没有问题,第二次刷新的时候,数据没有清空,两次的数据都显示到了GridView中,这显然是不对的。

当然,解决办法还是很多的,我只说一种VS2015中使用的方法,我记得之前老版本是另外的方法。

直接上代码:

//清空数据

this.dgvHistory.DataSource = null;

//重新绑定数据

this.dgvHistory.DataSource = list;

这样就解决了数据清空的问题,还是挺简单的吧!

3)最后是数据列名称绑定的问题,

常见的问题就是,绑定属性时候大小写问题,这个仔细一点儿就能规避,仔细耐心,不也是程序员的基本素养嘛!

另外一个最重要的就是如上图我明明绑定的数据列,第一次查询结果也能正常显示,但是再次查询却不对了?

列名称显示成了属性的字符串,如下图所示:

我设置的列名不见了????

为什么?那是因为这些在第二次绑定数据的时候自动生成了这些列名,我记得VS2010之前好像是DataGridView属性框里有一项是设置是否允许自动生成列的,设置成False即可解决这个问题,但是VS2015(更新的不知道解决了这个问题没有)没有这个选项,那怎么办?

程序员还得靠代码:

//禁止自动生成列

this.dgvHistory.AutoGenerateColumns = false;

在Form初始化的时候加上这一句,你的Datagridview 就不会出现上图那样的问题了,来看看正常的显示吧

?这样看着是不是更舒服,毕竟这才是我想要的。

?

vs2010 c#语言连接mysql数据库

1.新建一个工程名叫mysql,编程环境选择c#,然后选择windows窗体应用程序,新建一个窗体用于显示查询到sql数据库的数据集

2.从工具箱向form1窗体上拖一个按钮和datagridview控件,按钮是触发连接数据库获取数据集,按钮的名称为显示,datagridview控件是用于显示数据集内容

3.单击解决方案资源管理器中的引用文件夹然后右键选择添加引用,选择浏览后打开mysql.data.dll,这是c#连接mysql数据库的动态库,里面封装了很多常用的操作数据库的方法

4.在解决方案资源管理器中的form1.cs的代码中加入using MySql.Data.MySqlClient;这就是代码中的实际引用mysql.data.dll中的内容,有了这个c#就能很方便地操作sql数据库

5.在按钮的单击事件中添加如下代码string str = "Server=127.0.0.1;User ID=root;Password=123456;Database=test;CharSet=gbk;";

MySqlConnection con = new MySqlConnection(str);//实例化链接

m.gsm-guard.net();//开启连接

string strcmd = "select * from user";

MySqlCommand cmd = new MySqlCommand(strcmd, con);

MySqlDataAdapter ada = new MySqlDataAdapter(cmd);

DataSet ds = new DataSet();

ada.Fill(ds);//查询结果填充数据集

dataGridView1.DataSource = ds.Tables[0];

con.Close();//关闭连接

6.使用navicat软件在数据库test中新建表user,然后新建两个字段username和password(图中的栏位),navicat软件是mysql的图形化界面工具,负责新建表以及备份等数据库操作,直观地通过界面来操作

7.数据库建好后就可以执行工程了,单击显示按钮执行结果如下,出现username和password说明数据库连接成功,由于没有添加数据所以下面为空