我有以下代码用于在gridviews页脚中填充下拉列表。
if (!IsPostBack)
{
GridViewRow FooterRow = (GridViewRow)grdTime.FooterRow;
if (FooterRow != null)
{
QuartersTableAdapter Quarters = new QuartersTableAdapter();
DropDownList ddMonStart = (DropDownList)FooterRow.FindControl("ddMonStart");
ddMonStart.DataSource = Quarters.GetQuarters();
ddMonStart.DataTextField = "QuarterHour";
ddMonStart.DataValueField = "QuarterHour";
ddMonStart.DataBind();
}
}
现在我已经在另一个应用程序中完成了这个,并且它工作正常,但在这个例子中,它没有被绑定到下拉列表,因为FooterRow永远不会为空。
任何人都知道为什么footerRow可能无法使用?
由于
答案 0 :(得分:2)
在此代码之前或之后绑定网格吗? 在调用gridview.databind()之前,页脚行将不存在。 也许更好的解决方案是将此代码放在gridview.RowCreated方法中 用这个检查
if(e.Row.RowType == DataControlRowType.Footer)