Ваш выпадающий список находится в шаблоне элемента. Это означает, что ваше сеточное представление может содержать несколько раскрывающихся списков (по одному в каждой строке) или вообще не содержать их, если сеточное представление привязано к источнику без строк.
Если вы хотите связать каждый раскрывающийся список для каждой строки, вы должны сделать это в событии GridViewRowDatabound следующим образом.
protected void Page_Load(object sender, EventArgs e)
{
grvbillDetail.RowDataBound += grvbillDetail_RowDataBound;
}
void grvbillDetail_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType != DataControlRowType.DataRow)
return;
var ddl = e.Row.FindControl("ddlCalculateGrid") as DropDownList;
if (ddl != null)
{
ddl.DataSource = rcta.GetDataByTrueValue();
ddl.DataBind();
}
}
}