C# GridView 排序及分页如果你在GridView控件上设置 AllowPaging="true" or AllowSorting="true" 而没有使用使用数据源控件 DataSource (i.e. SqlDataSource, ObjectDataSource),运行则会出现下列错误: 当你在GridView控件上单击下一页时: The GridView 'GridViewID' fired event PageIndexChanging which wasn't handled. 当你点击排序时,则回出现: The GridView 'GridViewID' fired event Sorting which wasn't handled. 如果你没有设置GridView的DataSourceID 的属性,你必须添加一个操作才可以排序及分页。。
<%@ Page Language="C#" %> <%@ Import Namespace="System.Data" %> <%@ Import Namespace="System.Data.OleDb" %>
<script runat="server"> private void PopulatePublishersGridView() { string connectionString = AccessConnectionString(); OleDbConnection accessConnection = new OleDbConnection(connectionString);
string sqlQuery = "SELECT [PubID], [Name], [Company Name], [Address], [City], [State], [Zip], [Telephone], [Fax], [Comments] FROM Publishers ORDER BY [Name] ASC;";
OleDbCommand accessCommand = new OleDbCommand(sqlQuery, accessConnection);
OleDbDataAdapter publishersDataAdapter = new OleDbDataAdapter(accessCommand); DataTable publishersDataTable = new DataTable("Publishers"); publishersDataAdapter.Fill(publishersDataTable);
int dataTableRowCount = publishersDataTable.Rows.Count;
if (dataTableRowCount > 0) { gridViewPublishers.DataSource = publishersDataTable; gridViewPublishers.DataBind(); } }
private string AccessConnectionString() { string accessDatabasePath = Server.MapPath("~/App_Data/biblio.mdb"); return String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};", accessDatabasePath); }
private string GridViewSortDirection { get { return ViewState["SortDirection"] as string ?? "ASC"; } set { ViewState["SortDirection"] = value; } }
private string GridViewSortExpression { get { return ViewState["SortExpression"] as string ?? string.Empty; } set { ViewState["SortExpression"] = value; } }
private string GetSortDirection() { switch (GridViewSortDirection) { case "ASC": GridViewSortDirection = "DESC"; break;
case "DESC": GridViewSortDirection = "ASC"; break; }
return GridViewSortDirection; }
protected void gridViewPublishers_PageIndexChanging(object sender, GridViewPageEventArgs e) { gridViewPublishers.DataSource = SortDataTable(gridViewPublishers.DataSource as DataTable, true); gridViewPublishers.PageIndex = e.NewPageIndex; gridViewPublishers.DataBind(); 上一篇:RadioBox、CheckBox和Validating事件的相关处理 下一篇:对C#委托及事件委托的理解 更多相关文章
|
推荐文章
精彩文章
|