2009-01-24 91 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(); 
    }