2009-01-24 55 views
1

我有一个gridview绑定到代码隐藏的数据视图。数据源实际上是PowerShell,所以我自己处理数据。这工作正常,并显示我想要的结果。 但是,当我尝试启用分页时,打开页面时出现此错误:Gridview分页

该表必须按标题,正文和页脚的顺序包含行部分。

任何想法为什么会发生这种情况?

继承人的代码为我的绑定:

 mbGrid.DataSource = MailBoxManager.Instance.getDataTable(); 
     mbGrid.EnableSortingAndPagingCallbacks = true; 
     mbGrid.AllowPaging = true; 

这填充DataTable中的代码是:

public DataTable getDataTable() 
    { 
     DataTable dt = new DataTable(); 
     dt.Columns.Add(new DataColumn("Name", typeof(string))); 
     dt.Columns.Add(new DataColumn("Email", typeof(string))); 

     foreach (Mailbox mb in MbList) 
     { 
      DataRow dr; 
      dr = dt.NewRow(); 
      dr["Name"] = mb.Name; 
      dr["Email"] = mb.PrimaryEmail; 
      dt.Rows.Add(dr); 
     } 
     return dt; 
    } 
+0

一个代码示例会有帮助。 – NotMe 2009-01-24 20:22:23

+0

检查这里给出的答案,看看它是否有帮助:http://stackoverflow.com/questions/431413/gridview-with-pager-topandbottom – DavGarcia 2009-01-25 03:30:22

回答

4

有2点这里的问题对于遇到这个问题的人。首先,出于某种原因,在aspx页面中设置分页设置,而不是在第一个错误后面的代码中,不确定原因。 然后我收到另一个错误,因为我使用的数据源不是一个sql数据源,它是一个自定义的数据源,所以我必须定义gridview_pageIndexChanging方法的代码,一旦我这样做,它就很好。该代码是相当简单:

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