ASP.NET 数据绑定详解 代码+步骤(下)
正文
3.2. GridView 控件
GridView控件可称之为数据表格控件,它以表格的形式显示数据源中的数据,每列表示一个字段,而每行表示一条 记录,可以将其理解为数据库技术中的视图。
3.2.2. 使用GridView控件绑定数据源
使用GridView控件绑定数据源主要用到
- DataSource属性,用来指定数据源
- DataBind方法,用来执行数据绑定
如下代码实现了将SQL Server数据库中的数据通过GridView控件显示到ASP页面中
// .aspx文件
body>
form id="form1" runat="server">
div>
!-- GridView控件绑定数据源 -->
asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None">
AlternatingRowStyle BackColor="White" ForeColor="#284775" />
EditRowStyle BackColor="#999999" />
FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
SortedAscendingCellStyle BackColor="#E9E7E2" />
SortedAscendingHeaderStyle BackColor="#506C8C" />
SortedDescendingCellStyle BackColor="#FFFDF8" />
SortedDescendingHeaderStyle BackColor="#6F8DAE" />
/asp:GridView>
/div>
/form>
/body>
// .aspx.cs文件
protected void Page_Load(object sender, EventArgs e){
SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;
Database=db_LibraryMS;
User Id=sa;
pwd=admin");
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;
", sqlConnection);
DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet);
GridView1.DataSource = dataSet;
// 指定数据集
GridView1.DataBind();
// 执行数据绑定
}
数据库中leaveword数据表的数据如下所示:
执行效果如下,ASP页面中显示的数据:
3.2.3. 自定义GridView控件的列字段名
GridView中的数据列分为7种类型
| 数据列 | 说明 |
| BoundFiled | 最常用的数据列,用来显示文本 |
| CheckBoxFiled | 用来显示Boolean值 |
| CommandFiled | 用来显示执行选择、编辑和删除操作的命令按钮 |
| ImageFiled | 用来显示图片 |
| HyperLinkFiled | 用来将数据以超链接的形式显示出来 |
| ButtonFiled | 用来为GridView控件创建命令按钮,该按钮可以操作其所在行的数据 |
| TemplateFiled | 用来给用户提供自定义类型的数据列 |
在VS开发环境中按下面的步骤操作,以BoundFiled 为例将GridView中的字段名修改为中文显示:
如果只想显示我们自定义的列,可以将AutoGenerateColumns设置为False
上面两张图的内容也可以通过下面的代码实现:
// .aspx文件
body>
form id="form1" runat="server">
div>
!-- GridView控件绑定数据源,并且自定义列 -->
asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
Columns>
asp:BoundField DataField="title" HeaderText="图书编号" />
asp:BoundField DataField="email" HeaderText="邮箱" />
asp:BoundField DataField="context" HeaderText="内容" />
/Columns>
/asp:GridView>
/div>
/form>
/body>
// .aspx.cs文件
protected void Page_Load(object sender, EventArgs e){
SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;
Database=db_LibraryMS;
User Id=sa;
pwd=admin");
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;
", sqlConnection);
DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet);
GridView1.DataSource = dataSet;
// 指定数据集
GridView1.DataBind();
// 执行数据绑定
}
效果如下,左边是直接指定数据源时的表格,右边是对列自定义的表格:
3.2.4. 使用GridView控件分页显示数据
使用GridView控件分页显示数据主要用到了以下两个属性和一个事件:
AllowPaging属性,用来决定是否启用分页功能
PageSize属性,设置分页时每页显示几条记录,默认是12条
PageIndexChanging事件,用来响应用户的页面切换指令
下图的GridView属性说明了该GridView开启了分页功能,每页是展示3条记录
下面的代码,在开启分页功能的基础上重写了PageIndexChanging事件,实现了GridView的分页功能:
// .aspx文件
body>
form id="form1" runat="server">
div>
!-- GridView控件绑定数据源,并且使用分页功能 -->
asp:GridView ID="GridView1" runat="server" AllowPaging="True" OnPageIndexChanging="GridView1_PageIndexChanging" PageSize="3">
/asp:GridView>
/div>
/form>
/body>
// .aspx.cs文件
protected void Page_Load(object sender, EventArgs e){
SqlConnection sqlConnection = new SqlConnection("Server=DEITIVOD;
Database=db_LibraryMS;
User Id=sa;
pwd=admin");
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("select * from leaveword;
", sqlConnection);
DataSet dataSet = new DataSet();
sqlDataAdapter.Fill(dataSet);
GridView1.DataSource = dataSet;
// 指定数据集
GridView1.DataBind();
// 执行数据绑定
}
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){
// 设置当前页为新页
GridView1.PageIndex = e.NewPageIndex;
// 绑定新页数据
GridView1.DataBind();
}
执行结果如下:
3.2.5. 选中、编辑和删除GridView数据项
3.3. DataList 控件
3.3.1. DataList 模板
DataList控件是一个常用的数据绑定控件,可以称之为迭代控件,该控件能够以某种设定好的模板格式循环显示多条数据,这种模板格式是可以根据需要进行自定义的,比较于GridView控件,虽然GridView控件功能非常强大,但它始终只能以表格的形式显示数据,而使用DataList控件则灵活性非常强,其本身就是一个富有弹性的控件。
DataList中一共有以下几种模板:
| 模板 | 说明 |
| ItemTemplate | 为项提供内容 |
| AlternatingltemTemplate | 为交替项提供内容,是ItemTemplate的扩展 |
| SelectedltemTemplate | 为当前选定项提供内容 |
| EditltemTemplate | 为当前编辑项提供内容 |
| HeaderTemplate | 为页眉提供内容 |
| FooterTemplate | 为页脚提供内容 |
3.3.2. 分页显示DataList控件中的数据
DataList本身不具有分页功能,为了实现分页功能,需要借助PagedDataSource类
3.4. ListView控件
3.4.1. ListView控件概述
ListView控件用于显示数据,它提供了编辑、删除、插入、分页与排序等功能,ListView大部分的属性方法和事件与GridView和DataList一致,可以理解为GridView控件与DataList控件的融合,它具有GridView控件编辑数据的功能,同时又具有DataList控件灵活布局的功能。
3.4.2. ListView控件的模板
ListView控件有非常多的模板,其中最常用的有六个
| 模板 | 说明 |
| ItemTemplate | 为项提供内容 |
| GroupTemplate | 为组提供内容,它包含一个占位符对象,可以由其他模板中的内容进行替换 |
| SelectedltemTemplate | 为当前选定项提供内容 |
| EditltemTemplate | 为当前编辑项提供内容 |
| InsertltemTemplate | 为插入项提供内容 |
| EmptyDataTemplate | 在数据源未返回数据时提供内容 |
3.4.3. 使用ListView控件对数据进行显示、分页和排序
使用ListView控件对数据进行分页需要用到标签,这是一个用于分页的控件。排序需要用到CommandName属性,令其值为sort,指定要进行排序操作,然后再指定CommandArgument属性,令其值为要排序的列。
使用ListView控件显示数据只需配置数据源即可,而无需写任何一行操作数据库的代码,效果如下:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ASP.NET 数据绑定详解 代码+步骤(下)
本文地址: https://pptw.com/jishu/299437.html
