Я новичок-стажер, который пытается «исправить» код C# для внутренней формы. код заполняет пару сеток данных датой из нашей базы данных.сделать кнопки видимыми в зависимости от состояния
Есть несколько кнопок экспорта, которые я хочу сделать невидимыми, если одна из сеток возвращается без каких-либо строк (что иногда случается так, как должно).
Когда вы нажимаете кнопку «Go», чтобы заполнить сетку, кнопки должны стать невидимыми, если определенная сетка возвращается без строк;
Однако это не сработает!
Я отправил все события нажатия кнопки для контекста, но моя попытка ввода кнопок в/видимая находится в самом низу (некоторые идентификационные материалы были удалены в коде по соображениям безопасности).
Что я делаю неправильно?
public void btn_go_Click(object sender, EventArgs e)
{
try
{
string site = this.ddl_site.SelectedValue;
string srn = this.ddl_al.SelectedValue;
int siteID = Common.CommonFunctions.XXXXXX_SiteID(site);
using (DBML.XXXXDataContext db = AuthUtils.Auth.getDataContext(Common.DataContextE.XXXXX, Common.CommonFunctions.getXXXXX_ServerFromString(site)))
{
var CHAL = (from gal in db.XXXXXXXAccessLevels
where gal.ServerID.Equals((short)siteID)
&& gal.ServerRecordNumber.ToString().Equals(srn)
select gal.XXXXXccessLevels.FirstOrDefault());
if (CHAL.First() == null)
{
throw new Exception("No corresponding CHAL for this GAL [SiteID=" + siteID + ",SRN=" + srn + "]");
}
BaseClasses.XXXXXXX_AccessLevel al = new BaseClasses.XXXXXXX_AccessLevel(CHAL.FirstOrDefault());
this.lbl_al_tag.Text = "Access Level Name: ";
this.lbl_al_name.Text = al.AccessLevelName;
this.lbl_al_desc_tag.Text = "Access Level Descr: ";
this.lbl_al_desc.Text = al.AccessLevelDesc;
this.gv_people.DataSource = al.getPeople();
this.gv_people.RowDataBound += new GridViewRowEventHandler(gv_people_RowDataBound);
this.gv_people.DataBind();
this.gv_doors.DataSource = al.getDoors();
this.gv_doors.RowDataBound += new GridViewRowEventHandler(gv_doors_RowDataBound);
this.gv_doors.DataBind();
this.gv_doors.Visible = true;
this.gv_people.Visible = true;
this.lbl_al_name.Visible = true;
this.lbl_al_desc.Visible = true;
//attempt to hide export buttons for
////Working on this right here
int rowCount = this.gv_doors.Rows.Count;
if (rowCount > 0)
{
export_excel.Visible = true;
export_excell_both.Visible = true;
}
else
{
export_excel.Visible = false;
export_excell_both.Visible = false;
}
}
}
Вы уверены, что 'this.gv_doors' имеет строки в ваших тестах? – Jonesopolis