我可以访问Gridview页脚模板中的日历控件。 但是在EditItem Template
中做同样的事情并不容易有人可以建议怎么做吗?
我在EditItem模板中使用了3个控件:Calendar
,ImageButton
,TextBox
以及页脚模板。
您可以使用GridView的FooterRow中的FindControl
方法使日历显示为True / False
protected void MyDateInsButton_Click(object sender, EventArgs e)
{
if (GridView1.FooterRow.FindControl("MyDateInsCalendar").Visible == false)
{
GridView1.FooterRow.FindControl("MyDateInsCalendar").Visible = true;
}
else
{
GridView1.FooterRow.FindControl("MyDateInsCalendar").Visible = false;
}
}
在页脚TextBox
protected void MyDateInsCalendar_SelectionChanged(object sender, EventArgs e)
{
Calendar MyCal = (Calendar)sender;
((TextBox)GridView1.FooterRow.FindControl("txtinsMyDate")).Text = MyCal.SelectedDate.ToString("d");
GridView1.FooterRow.FindControl("MyDateInsCalendar").Visible = false;
}
如何访问EditItem模板中的日历控件以使其显示为True和False?
protected void MyUpdButton_Click(object sender, EventArgs e)
{
}
GridView1_RowUpdating
方法可用于将日历控件中的选定日期转换为文本框控件,但我仍希望在用户按下图像按钮时使日历显示和消失。
感谢任何帮助。 感谢。
答案 0 :(得分:2)
你快到了。这样做:
protected void MyUpdButton_Click(object sender, EventArgs e)
{
var MyDateInsCalendar = GridView1.Rows[GridView1.EditIndex].FindControl("MyDateInsCalendar") as Calendar;
MyDateInsCalendar.Visible = false;
}
在GridView1_RowEditing中,设置EditIndex,重新绑定数据:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataSource = MyDataSource; //Set it to your datasource
GridView1.DataBind();
}
希望它有所帮助!