2012-07-19 65 views
1

我的问题似乎有点难以理解,但非常简单,我相信解决方案也非常简单。ASP.NET将jquery日期选择器添加到Gridview文本框(编辑gridview)

我有一个Gridview可以编辑和更新。 我们都知道,当我们点击编辑,如果列设置好的以只读=“真”默认的文本框控件将出现...

我可以从文本框的动态通过点击的GridView的编辑按钮创建返回值,这一切都很好...

我的问题是:我想添加javascript代码,当在gridview内点击编辑按钮时创建的动态文本框。

这是JavaScript代码的日期选择器显示在单击文本框时:

<head runat="server"> 

<link rel="Stylesheet" type="text/css" href="css/jquery.datepick.css" /> 
<script type="text/javascript" src="js/jquery.datepick.js"></script> 

<script type="text/javascript" language="javascript"> 
    $(function() {  
     $('#Textbox_Name').datepick({ dateFormat: 'dd/mm/yyyy' });    
    }); 
</script> 
</head> 

现在,而不是把文本名称上的代码首先我想知道动态创建我的GridView编辑文本框的名称然后显示在该文本框

回答

1

的日期选择器手柄的RowCreated事件:

protected void grid_RowCreated(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowState == DataControlRowState.Edit) 
    { 
     var textBox = e.Row.FindControl("myTextBox") as TextBox; 
     ClientScript.RegisterStartupScript(this.GetType(), "datepick", 
     "$(function() { $('#" + textBox.ClientID + "').datepick({ dateFormat: 'dd/mm/yyyy' }); })", true); 
    } 
} 
+0

但只有一个行可以在编辑模式下 – 2012-07-19 11:36:22

+0

谢谢你这么多阿米拉姆授予Korach,你让我很快乐!解决 – B1GB0Y 2012-07-19 13:46:12

+0

@ B1GB0Y接受并投票支持你的答案,特别是如果使它工作。 – Aristos 2012-07-19 13:49:14

1

这里的简单的方法是一个CSS类名称添加到您的EDI TOR,然后应用datepick于具有这个类作为

<script type="text/javascript" language="javascript"> 
    $(function() { 
     $('.className').datepick({ dateFormat: 'dd/mm/yyyy' }); 
    }); 
</script> 

又见这个问题是有一个解决方案,包括更新面板的所有编辑:Asp.Net UpdatePanel in Gridview Jquery DatePicker

0

我得到了我这样的工作:

(RowDataBound事件)

if (e.Row.RowType == DataControlRowType.DataRow) 
{ 
    TextBox tbOne = e.Row.FindControl("txtMyTextBox") as TextBox; 
    if (tbOne != null) 
    { 
     string js = "$(function() { $('#" + tbOne.ClientID + "').datepicker(); });"; 
     ClientScript.RegisterStartupScript(this.GetType(), "DatePickJS_" + Guid.NewGuid().ToString("N"), js, true); 
    } 
}