操作DataGridView有两种方式,一种是使用控件绑定的方式,操作的时候只要更改DataSet控件的数据集就能够实现DataGridView数据的灵活显示;另一种方式是全部使用代码来手工操作DataGridView控件的显示,尽量少用控件,使代码看起来更连贯,操作更灵活。
控件方法来操作DataGridView控件:
?(控件方法略,比较简单,拖控件,绑定即可)
代码方法来操作DataGridView控件
通过上两节,老程序员对数据的简单操作已经很熟练了。现在在第一个实例“helloword!”的基础上,继续DataGridView控件的手工操作实习。
我们在上面看到的数据显示时这样的:
列的头部是数据库表的列段名,因为我们是将SQL查询的数据集直接绑定到DataGridView控件的。
下来我们来改变它的头部,同时,来指定DataGridView控件各个列绑定的数据成员。
?privatevoidbutton4_Click(objectsender,EventArgse)
?//定义数据库连接字符?
?stringstr_con=@"DataSource=26-3B72903E783B/SQLEXPRESS;IntegratedSecurity=SSPI;InitialCatalog=testDB;";
?//定义SQL语句字符串
?stringsql="select*fromdanwei";
?//stringsql=string.Format("insertintodanwei(danwei)values('{0}')",textBox1.Text);
?//定义并实例化数据库连接类型变量
?SqlConnectionconn=newSqlConnection(str_con);
?//打开数据库连接
?SqlCommandcomm=newSqlCommand(sql,conn);
?SqlDataAdapterda=newSqlDataAdapter(comm);
?DataSetds=newDataSet();
?da.Fill(ds,"danwei");
?dataGridView1.DataSource=ds;
?dataGridView1.DataMember="danwei";
//---------------以上代码可以直接拷贝button3的代码--------------------
//设置dataGridView1控件第一列的列头文字
?dataGridView1.Columns[0].HeaderText="序号";
//设置dataGridView1控件第一列的列宽
?dataGridView1.Columns[0].Width=80;
//设置dataGridView1控件第二列的列头文字
?dataGridView1.Columns[1].HeaderText="单位";
?//设置dataGridView1控件第二列绑定的数据集中第一个数据表的第二列的数据
?//前面说了,ds数据集是一个多表的集合
?dataGridView1.Columns[1].DataPropertyName=ds.Tables[0].Columns[1].ToString();
//设置dataGridView1控件第二列的列宽

运行后,按下DataGridViewOpar按钮显示如下:
发现就是列头变了,以及下面的滚动条长了,其实数据绑定了。可以将绑定值在代码中互换一下,再看看;
privatevoidbutton4_Click(objectsender,EventArgse)
?…https://www.mfisp.com//省略前面已有的代码
?dataGridView1.Columns[0].HeaderText="序号";
?dataGridView1.Columns[0].DataPropertyName=ds.Tables[0].Columns[1].ToString();
?dataGridView1.Columns[0].Width=80;
?dataGridView1.Columns[1].HeaderText="单位";
?dataGridView1.Columns[1].DataPropertyName=ds.Tables[0].Columns[0].ToString();
?dataGridView1.Columns[1].Width=300;
单位和序号的值就换位置了。
自动添加序号:
动态添加数据的时候,有时候读取数据库的数据ID号不是顺序的,这时就需要自己添加自动递增的序号。
这里的序号不是序列的,中间跳了个2,做为统计到底有几个单位不直观。我们添加一段代码:
privatevoidbutton4_Click(objectsender,EventArgse)
?…https://www.mfisp.com//省略前面已有的代码
dataGridView1.Columns[0].HeaderText="序号";
?//dataGridView1.Columns[0].DataPropertyName=ds.Tables[0].Columns[1].ToString();
?dataGridView1.Columns[0].Width=80;
?dataGridView1.Columns[1].HeaderText="单位";
?//dataGridView1.Columns[1].DataPropertyName=ds.Tables[0].Columns[0].ToString();
//dataGridView1.Columns[1].Width=300;
//自动整理序列号
?intcoun=dataGridView1.RowCount;
?for(inti=0;i<coun-1;i++)
?dataGridView1.Rows[i].Cells[0].Value=i+1;
?dataGridView1.Rows[i].Cells["danweiid"].Value=i+1;
//因为第一个列值被修改了,所以后面的列值索引就从0开始
//所以单位的值应该对应的是第0列
dataGridView1.Columns[0].DataPropertyName=ds.Tables[0].Columns[0].ToString();
综上,老程序员已经可以知道:
1,?DataGridView控件如何用代码绑定数据集;
2,?DataGridView控件如何如果将指定的列绑定到数据集里的指定数据列;
3,?DataGridView控件如何动态编辑它的列值;
其实通过上面的实习,老程序员已经算很灵活的操作DataGridView了,不过为了在项目中更加顺手,老程序员通过查找资料和测试,整理了DataGridView控件的用法详解合集。附录如下:
(以下代码在如下情况下配置:添加一个ListBox控件,在里面显示获取到的值。添加一个button3按钮控件,以下功能代码均在该按钮控件的Click事件下触发:)
本文来源:国外服务器--操作DataGridView控件详解(datagridview教程)
本文地址:https://www.idcbaba.com/guowai/5590.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 1919100645@qq.com 举报,一经查实,本站将立刻删除。



