星空网 > 软件开发 > ASP.net

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

前文介绍了Winform为DataGridView提供的数据自动绑定功能,下面介绍一下采用代码的数据绑定

1、用DataSet和DataTableDataGridView提供数据源

先上代码

private void Form1_Load(object sender, EventArgs e)    {      String strConn = "Data Source=210.26.*.*;Initial Catalog=Test;User ID=sa;Password=*****";       SqlConnection conn = new SqlConnection(strConn);      String sqlId = "select * from [Student] ";       conn.Open(); SqlCommand cmd = new SqlCommand(sqlId, conn);       SqlDataAdapter da = new SqlDataAdapter(cmd);       DataSet ds = new DataSet();      da.Fill(ds, "student");      //dataGridView1.DataSource=ds.Tables["Student"];此处直接用DataTalbe绑定,与下面两行代码的效果是一样的      dataGridView1.DataSource = ds;//使用Dataset,单必须指定DataMember,因为DataSet是DataTable的集合,而datagridview只能绑定一个datatable      dataGridView1.DataMember = "Student";            conn.Close();     }

这里需要指出的是,如果不对dataGridview做任何设置,上面这段代码将自动将数据绑定到dataGridview上,效果图如下

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

这样的显示不是很好,那么我只需要将姓名和住址显示出来怎么办?那就需要设置datagridview的items属性或者datagridview右侧箭头——编辑列

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

除了设置HeaderText显示列名外,需要设置DataPropertyName属性必须对应表中的列。

那这样就可以了吗?NO,这样的话,如果继续运行上面的程序,会出现下图情况

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

为什么会这样尼?明明只是指定了绑定两个列的,呵呵还需要在代码里或者属性里设置一下

dataGridView1.AutoGenerateColumns = false;//此行指定不需要自动绑定数据列,数据列在dataGridView的属性items集合里指定,必须放在绑定数据之前哦,放到后面是没用的

对,在代码里需要加入此行代码,并且这行代码必须放在dataGridView.DataSource之前,如果放在后面是没用的哦。

这块儿介绍一个列属性Frozen(冻结)的意思,即如果datagridview有滚动条出现,拉动滚动条时,冻结的列是不会动的,其他的列会跟随滚动条,上个图看看,当拉动滚动条时,住址栏已经隐藏起来了,而姓名栏是冻结列true

Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

2、使用IList类集合绑定

我们在软件开发的过程中,有些数据查出来是IList,再转DataTable就比较麻烦了,那么能不能直接绑定IList尼?其实也是可以的,贴一点点代码

 IList<Student> lst = StudentService.GetAllOrderbyNumb();//用Student提供的方法查询到的结果是Ilist dataGridView1.DataSource = lst;

其实就是这么滴简单。

 3、使用SqlDataReader绑定

使用SqlDataReader绑定需要,现在窗体上放置一个数据源控件BindingSource,上代码

 private void Form1_Load(object sender, EventArgs e)    {      String strConn = "Data Source=210.26.*.*;Initial Catalog=Test;User ID=sa;Password=****";       SqlConnection conn = new SqlConnection(strConn);      String sqlId = "select * from [Student] ";       conn.Open();       SqlCommand cmd = new SqlCommand(sqlId, conn);             SqlDataReader studentlist = cmd.ExecuteReader();      bindingSource1.DataSource = studentlist;//数据源控件bindingSourse是必须的      dataGridView1.DataSource = bindingSource1;      conn.Close();     }

 




原标题:Winform开发常用控件之DataGridView的简单数据绑定——代码绑定DataSet、DataTable、IList、SqlDataReader

关键词:GridView

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

蓝帜科技介绍:https://www.ikjzd.com/w/2009
亚马逊海卖助手暂停服务:https://www.ikjzd.com/w/201
Optimizely:https://www.ikjzd.com/w/2011
heap:https://www.ikjzd.com/w/2012
NoxInfluencer:https://www.ikjzd.com/w/2013
丰卖网Intmall:https://www.ikjzd.com/w/2014
夹江千佛岩景区门票(夹江千佛岩景区门票价格):https://www.vstour.cn/a/411232.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流