GridView数据绑定答题.docx
文本预览下载声明
9.4 LINQ数据绑定
Linq具有强大的数据访问功能,通过Linq语句,可以实现对数据库增删改查操作,并将数据绑定到页面中,通过配合GridView等数据绑定控件,可以实现更为灵活的数据绑定、访问方式。
本节将介绍以LINQ为核心的数据绑定方法。
9.4.1 GridView分页与排序
通过Linq进行GridView绑定,实现GridView的分页与排序。需要对AllowSorting属性,AllowPaging属性和pageSize属性值进行相应的设置。本实例通过GridView控件实现分页和部分字段排序,实例展示如图9-28所示,实例将根据可排序字段和分页空间实现数据的分页显示和按字段排序。
图9-28 GridView数据分页与排序
实现GridView数据分页与排序的页面源代码:
%@ Page Language=C# AutoEventWireup=true CodeFile=GridViewPS.aspx.cs Inherits=chap8_GridViewPS %
!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN /TR/xhtml1/DTD/xhtml1-transitional.dtd
html xmlns=/1999/xhtml
head runat=server
title/title
/head
body
form id=form1 runat=server
div
asp:GridView ID=gvProduct runat=server AllowPaging=True AllowSorting=True
AutoGenerateColumns=False OnPageIndexChanging=gvProduct_PageIndexChanging
OnSorting=gvProduct_Sorting PageSize=5
Columns
asp:BoundField DataField=ProductID HeaderText=产品ID SortExpression=ProductID /
asp:BoundField DataField=CategoryID HeaderText=类别ID /
asp:BoundField DataField=Name HeaderText=产品名称 SortExpression=Name /
asp:BoundField DataField=UnitCost HeaderText=成本价 /
asp:BoundField DataField=ListPrice HeaderText=单价 /
asp:BoundField DataField=Qty HeaderText=库存数量 /
/Columns
/asp:GridView
/div
/form
/body
/html
实现GridView数据分页与排序的程序源代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class chap8_GridViewPS : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
bindGrid();
}
private void bindGrid()
{
MyPetShopDataContext dc = new MyPetShopDataContext();
var products = from r in dc.Product
select r;
//判断是否已经进行排序,如果是则按照ViewState中存储的信息生成排序后的DataView对象
显示全部