【问题标题】:calendar control inside gridview edititem templategridview edititem 模板内的日历控件
【发布时间】:2013-11-02 07:14:26
【问题描述】:

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

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

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

您可以在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 方法可用于将选定日期从日历控件获取到文本框控件中,但我仍然想让日历在用户按下图像按钮时出现和消失。

感谢任何帮助。 谢谢。

【问题讨论】:

    标签: c# asp.net gridview calendar edititemtemplate


    【解决方案1】:

    你快到了。这样做:

    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();    
     }
    

    希望对你有帮助!

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多