Я столкнулся со странной проблемой с моей сеткой. У меня есть сетка на моей странице aspx и DDL программ. Моя цель - связать сетку со всем списком (без фильтрации). Я достиг этой цели. Моя вторая цель - выбрать программу из DDL, а затем список будет отфильтрован в соответствии с выбором. Я также получаю этот список фильтров. Но когда я пытаюсь связать этот список, привязка данных остается неудачной. Его показ без ошибок. Я отладил его, но не нашел понятия, что происходит не так. Мой код
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind_Grid();
Bind_Program();
}
}
private void Bind_Program()
{
List < CcProgramEntity > programEntities = FormSaleSubmit_BAO.GetAllPrograms();
if (programEntities == null)
{
//lblErrorMessage.Visible = true;
//lblErrorMessage.Text = "No Program Found";
return;
}
DDLProgram.DataSource = programEntities;
DDLProgram.DataTextField = "Shortname";
DDLProgram.DataValueField = "Id";
DDLProgram.DataBind();
//throw new NotImplementedException();
}
private void Bind_Grid()
{
List < FormGridEntity > formGridEntities = new List < FormGridEntity > ();
if (DDLProgram.SelectedIndex >= 0)
{
string shortName = DDLProgram.SelectedItem.ToString();
formGridEntities = FormSaleSubmit_BAO.GetAllCandidateInfoByProgram(shortName);
} else
{
formGridEntities = FormSaleSubmit_BAO.GetAllCandidateInformation();
}
gridViewFormSaleSubmit.DataSource = null;
gridViewFormSaleSubmit.DataBind();
if (formGridEntities != null)
{
gridViewFormSaleSubmit.DataSource = formGridEntities;
gridViewFormSaleSubmit.DataBind();
} else
{
//what to do
Variables.SaveMode = SaveMode.Add;
Response.Redirect("FormSaleSubmissionInfo.aspx");
}
}
protected void OnDDLProgramChanged(object sender, EventArgs e)
{
List < CcProgramEntity > programEntities = FormSaleSubmit_BAO.GetAllPrograms();
if (programEntities == null)
{
//lblErrorMessage.Text = "Could not find any program!";
return;
}
Bind_Grid();
}