昨天试过了传统的数据连接方式和数据显示,但代码看起来总有点ASP的痕迹,今天就试试ASP.net服务器控件gridview的数据绑定!
拖一个gridview控件上去,然后在Page_Load里编写代码,当然我是手动用代码绑定的,这里使用了DataAdapter,它的构造函数接受了一个sql字符串和Connection对象,用它可以不必打开和关闭Connection对象,DataAdapter会自行处理,还用到了DateSet,这里新建了一个空的DateSet对象,并调用DataAdapter的Fill方法填充数据,然后通过设定GridView的数据源,调用它的DataBind方法就实现了数据绑定。
- OleDbConnection conn = new OleDbConnection();
- conn.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb");
- OleDbDataAdapter da=new OleDbDataAdapter("select art_title,art_author from [article]",conn);
- DataSet ds=new DataSet();
- da.Fill(ds);
- GridView1.DataSource=ds;
- GridView1.DataBind();
生成网站,就可以看到效果了!
不过我们看到的表格的标题却是字段的名称,那么怎么设定表格的标题呢?
切到设计视图,选中控件,然后添加新列,字段类型选择BoundField,页眉就是表格的标题,数据字段是要绑定的数据库字段,添加完成后,设置GridView的AutoGenerateColumns属性为false,这是为了避免GridView自动生成列,而出现相同的数据被同时显示,要自定义显示字段的时候一定要设置!
重新生成站点,浏览一下,OK,没问题!
不满于此,再更进一步,加入分页。写过ASP的朋友就知道,熟手是一路Ctrl+C和Ctrl+V,如果是新手,那就得慢慢去写!
可.net的GridView就没那么复杂了,需要做的,仅仅是简单的设置和一句代码。
在GridView的PagerSettings栏设置GridView的AllowPaging属性为True,然后设定显示的记录数PageSize属性,显示位置Position属性,如果设定了Mode,同时依次定义分页链接的文字或图片。这样设置就完成了,最后一步添加GridView的PageIndexChanging事件,也就是单击分页链接的时候GridView所要做的,看代码,就一句:
- protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
- {
- GridView1.PageIndex = e.NewPageIndex;
- }
重新生成网站,可以看到,表格已经加入了分页!