2012-07-19 110 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); 
    } 
}