网格视图编辑项模板内的日历控件

本文关键字:日历 控件 视图 编辑 网格 | 更新日期: 2023-09-27 18:36:33

我可以访问 Gridview 页脚模板中的日历控件。但是在编辑项模板中做同样的事情并不容易

任何人都可以建议如何做到这一点吗?

我在编辑项模板中使用了 3 个控件:CalendarImageButtonTextBox以及页脚模板。

可以在 GridView 的页脚行中使用 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 模板中的日历控件以使其可见"真"和"假"?

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中,设置编辑索引,重新绑定数据:

 protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
 {
      GridView1.EditIndex = e.NewEditIndex;
      GridView1.DataSource = MyDataSource; //Set it to your datasource
      GridView1.DataBind();    
 }

希望对您有所帮助!