Cấp bậc tác giả:

DOTNET

Lỗi sắp xếp và phân trang điều khiển GridView

Được viết bởi QuangIT ngày 09/05/2013 lúc 06:02 PM
Nếu bạn thiết lập AllowPaging = "true" hoặc AllowSorting = "true" trên điều khiển GridView mà không sử dụng DataSourceControl DataSource (tức là SqlDataSource, ObjectDataSource), bạn sẽ nhận lỗi
  • 0
  • 8137

Lỗi sắp xếp và phân trang điều khiển GridView

Nếu bạn thiết lập AllowPaging = "true" hoặc AllowSorting = "true" trên điều khiển GridView mà không sử dụng DataSourceControl DataSource (tức là SqlDataSource, ObjectDataSource), bạn sẽ nhận lỗi sau đây:

Khi thay đổi trang trên điều khiển GridView:

The GridView 'GridViewID' fired event PageIndexChanging which wasn't handled.

Khi nhấp chuột vào tên cột để sắp xếp cột trên điều khiển GridView:

The GridView 'GridViewID' fired event Sorting which wasn't handled.

Đó là kết quả của việc không thiết lập thuộc tính DataSourceID của GridView đến DataSourceControl DataSource, bạn phải thêm xử lý sự kiện để sắp xếp và phân trang.

<asp:GridView ID="gridView" OnPageIndexChanging="gridView_PageIndexChanging" OnSorting="gridView_Sorting" runat="server" />

private string ConvertSortDirectionToSql(SortDirection sortDirection)
{
   string newSortDirection = String.Empty;

   switch (sortDirection)
   {
      case SortDirection.Ascending:
         newSortDirection = "ASC";
         break;

      case SortDirection.Descending:
         newSortDirection = "DESC";
         break;
   }

   return newSortDirection;
}

protected void gridView_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
   gridView.PageIndex = e.NewPageIndex;
   gridView.DataBind();
}

protected void gridView_Sorting(object sender, GridViewSortEventArgs e)
{
   DataTable dataTable = gridView.DataSource as DataTable;

   if (dataTable != null)
   {
      DataView dataView = new DataView(dataTable);
      dataView.Sort = e.SortExpression + " " + ConvertSortDirectionToSql(e.SortDirection);

      gridView.DataSource = dataView;
      gridView.DataBind();
   }
}

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML