我有一个绑定到代码隐藏中的数据视图的gridview。数据源实际上是powershell,所以我自己处理数据。这工作正常,并显示我想要的结果。 但是,当我尝试启用分页时,打开页面时出现此错误:
该表必须按标题,正文和页脚的顺序包含行部分。
知道为什么会这样吗?
以下是我绑定的代码:
mbGrid.DataSource = MailBoxManager.Instance.getDataTable();
mbGrid.EnableSortingAndPagingCallbacks = true;
mbGrid.AllowPaging = true;
填充数据表的代码是:
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 :(得分:4)
对于遇到此问题的任何人,此处有2个问题。首先,由于某种原因,在aspx页面中设置分页设置,而不是修复第一个错误后面的代码,不是很确定原因。 然后我收到了另一个错误,因为我使用的数据源不是一个sql数据源,它是一个自定义的数据源,所以我必须为gridview_pageIndexChanging方法定义代码,一旦我这样做了,它工作得很好。这段代码很简单:
protected void grid_PageIndexChanging1(object sender,
GridViewPageEventArgs e)
{
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
答案 1 :(得分:0)