GridView
内部でテンプレート列を使用してから、JQuery 日付ピッカーを接続する必要があります。
結果は次のとおりです。
<asp:GridView runat="server" ID="gvpicker" AutoGenerateEditButton="true" OnRowEditing="gvpicker_RowEditing">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Label Text='<%# Eval("job_desc") %>' runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" Text='<%# Bind("job_desc") %>' ID="myDatePicker" CssClass="myDatePickerClass" />
</EditItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<script>
$(function () {
var $gv = $("table[id$=gvpicker]");
var $rows = $("> tbody > tr:not(:has(th, table))", $gv);
var $inputs = $(".myDatePickerClass", $rows);
$rows.css("background-color", "yellow");
$inputs.datepicker();
});
</script>
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
this.BindGrid();
}
}
protected void gvpicker_RowEditing(object sender, GridViewEditEventArgs e)
{
this.gvpicker.EditIndex = e.NewEditIndex;
this.BindGrid();
}
カスタム コントロールがある場合は、置き換えてください。
<asp:TextBox runat="server" Text='<%# Bind("job_desc") %>' ID="myDatePicker" CssClass="myDatePickerClass" />
カスタム コントロールの場合
データ バインド コントロール内のテンプレート セクションでは、好きなコントロールを配置できます。