我可以访问 Gridview 页脚模板内的日历控件。 但在 EditItem 模板中做同样的事情就没那么容易了
有人可以建议如何做到这一点吗?
我在 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
方法可用于将选定的日期从日历控件获取到文本框控件中,但我仍然想让日历在用户按下图像按钮时显示和消失。
感谢任何帮助。 谢谢。
最佳答案
你就快到了。这样做:
protected void MyUpdButton_Click(object sender, EventArgs e)
{
var MyDateInsCalendar = GridView1.Rows[GridView1.EditIndex].FindControl("MyDateInsCalendar") as Calendar;
MyDateInsCalendar.Visible = false;
}
并在GridView1_RowEditing中,设置EditIndex,重新绑定(bind)数据:
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
GridView1.DataSource = MyDataSource; //Set it to your datasource
GridView1.DataBind();
}
希望对你有帮助!
关于c# - gridview edititem 模板内的日历控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19551384/