【发布时间】:2012-03-14 11:29:19
【问题描述】:
我有一个启用了分页和排序的 GridView 网络控件。我已将数据源绑定到 SqlDataSource。当我尝试更改页面索引或排序时,我收到“GridView 触发事件 [Sorting/PageIndexChanging] 未处理”错误。 SqlDataSource 不是已经具备处理这些事件的能力了吗?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@language = "C#" Debug="true" src="ServerCode/Default.cs" Inherits="Home.Default" %>
<html>
<head>
<title>APTEIT Data Preview</title>
</head>
<body>
<form id = "mainFrm" runat = "server">
<div id = "headersDiv">
<asp:Table id = "headerTbl" runat = "server">
</asp:Table>
</div>
<div id = "dataDiv">
<asp:GridView id = "dataTbl" runat = "server"
ShowHeader="false"
AllowPaging="true"
GridLines="None"
AlternatingRowStyle="altRow"
PagerStyle="pager"
PageSize="50"
>
</asp:GridView>
</div>
</form>
</body>
</html>
代码隐藏
SqlDataSource sqlData = new SqlDataSource("Hidden for security reasons");
Select(DataSourceSelectArguments.Empty);
dataTbl.DataSource = sqlData;
dataTbl.DataBind();
headerTbl.Rows.Add(new TableRow());
【问题讨论】:
-
仅供参考:“数据呈现控件的默认分页选项不适用于处理大量数据,因为它的底层数据源控件检索所有记录,即使只显示数据的子集。在这种情况下,我们必须转向自定义分页。” asp.net/web-forms/tutorials/data-access/paging-and-sorting/…
-
启用你的数据网格分页为真。
-
在此处发布您的 gridview 的 aspx 源代码,以便我们为您提供帮助。
-
您是否更改了默认
DataSourceMode="DataSet"?如果设置为 DataReader,排序和分页将不起作用。 -
@nux 我已经添加了上面的代码。 DataSourceMode是设置在gridview还是sqldatasource?
标签: asp.net sorting gridview paging sqldatasource