使用GridView控件绑定数据源

     GridView控件个人认为就是数据表格控件,它以表格的形式显示数据源中的数据。每列表示一个字段,每行表示一条记录。

      GridView控件支持在页面有一下功能:

  1. 绑定至数据源控件。
  2. 内置排序功能。
  3. 内置分页功能。
  4. 内置行选择功能。
  5. 以编程的方式访问GridView对象模型以动态设置属性,处理事件等。
  6. 多个键字段。
  7. 用于超连接列的多个数据字段。
  8. 可通过主题和样式自定义外观。

绑定GridView控件到数据源的有两种方法:通过配置数据源绑定和通过代码绑定。

1.通过配置数据源绑定GridView控件

   下面演示通过SqlDataSource控件配置数据源,并连接数据库,然后使用GridView控件绑定SqlDataSource数据源。

数据库表内容如:

初始ASP.NET数据控件GridView

 

新建一个网站,建立一个Inde.aspx页面。在工具箱->数据分类下面拽一个GridView控件和一个SqlDataSource控件出来。如下图:

初始ASP.NET数据控件GridView

  初始ASP.NET数据控件GridView

初始ASP.NET数据控件GridView

初始ASP.NET数据控件GridView接下来配置SqlDataScource控件,

初始ASP.NET数据控件GridView初始ASP.NET数据控件GridView

接下来就要配置GridView控件了,在GridView控制中选择我们的数据源SqlDataSource控件即可,如下图

初始ASP.NET数据控件GridView

配置完成后,运行下我们的效果看下,如下图

初始ASP.NET数据控件GridView

2.通过代码绑定GridView控件

同样上面的代码可以用下面的代码完成。加载事件时写法:

using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace DataShowApplication
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //创建字符串连接
            SqlConnection sqlconn = new SqlConnection ("Data Source=.\\CENA;Initial Catalog=Asp.net;Persist Security Info=True;User ID=sa;Password=123456");

            SqlDataAdapter sqlda = new SqlDataAdapter("select * from DemoStu", sqlconn);
            DataSet ds = new DataSet ();
            sqlda.Fill(ds);
            this.Data_GridView.DataSource = ds;
            this.Data_GridView.DataBind();
        }
    }
}

 自定义GridView控件的列

  GridView控件中的每一列有一个DataControlField对象。

  1. BoundField列:默认的数据绑定类型,通常用于显示普通文本。
  2. CheckBoxField列:显示布尔类型的数据。绑定数据为true时,复选框数据绑定列为选中状态;绑定数据为false时,则显示未选中状态。
  3. CommandField列:显示用来执行选择,编辑或删除操作的预定义命令按钮。
  4. ImageField列:在GridView控件所在的表格中显示图片列。
  5. HyperLinkField列:允许将所绑定的数据以超链接的形式显示出来。开发人员可自定义绑定超连接的显示文字,超链接的URL以及打开窗口的方式等。
  6. ButtonField列:为GridView控件创建命令按钮,开发人员可以通过按钮来操作其所在行的数据。
  7. TemplateField列:允许以模版式自定义数据绑定列的内容。

 实验如何在在GridView控件中添加BoundField列,从而进行数据绑定实例如下:

添加一个Index.aspx页面,添加一个GridView控件和一个SqlDataSoure控件。如下图:

初始ASP.NET数据控件GridView要对GridView控件经行自定义列,要先取消GridView自动产生字段的功能。把GridView的AutoGeneraterColums属性设置为false就可以了。

然后设置SqlDataSource控件配置数据源,并将SqlDataSource控件指定给GridView控件的DataSourceID属性。如下图:

初始ASP.NET数据控件GridView然后编辑GridView控件,如下图:

初始ASP.NET数据控件GridView

看下运行结果,如下图:

初始ASP.NET数据控件GridView

使用GridView控件分页显示数据

   GridView控件有一个内置的分页控件,可以支持基本的分页功能。启用分页需要设置AllowPaging,PageSize属性。如下图:

初始ASP.NET数据控件GridView

然后需要写一个GridView控件的PageIndexChanging事件,写法如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace DataShowApplication
{
    public partial class IndexO : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }
        protected void GridViewOne_PageIndexChanging(object sender, GridViewPageEventArgs e) 
        {
            //获取当前分页的索引值
            this.GridViewOne.PageIndex = e.NewPageIndex;
            this.GridViewOne.DataBind();
        }
    }
}
View Code

相关文章: