gridview rowediting event-dynamic复选框,datetimepicker控件

时间:2010-06-28 13:15:49

标签: c# asp.net gridview datetimepicker

我的网格视图为

日期时间名称状态

我需要更新列记录,所以我使用了:

<asp:CommandField ShowEditButton="true" ButtonType="Link" EditText="Edit" ShowHeader="true" HeaderText="Edit" HeaderStyle-Font-Bold="true" Visible="true"> <HeaderStyle Font-Bold="True" />
</asp:CommandField>

并在划船活动中:

 protected void GrdDynamicControls_RowEditing(object sender, GridViewEditEventArgs e)
{

GrdDynamicControls.EditIndex = e.NewEditIndex;
}

如果我在默认情况下点击编辑命令它会向我显示oly文本框,但我需要在编辑模式下显示datepicker和复选框。如何实现这一点。

任何想法???

1 个答案:

答案 0 :(得分:0)

建议您在ItemTemplate中使用带有Label和CheckBox的TemplateField,并在EditTemplate中使用带有AjaxControlToolkit DatePicker和CheckBox的TextBox:

<%@ Register TagPrefix="ajaxtoolkit" Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit"  %>

<head runat="server">
    <title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager" />
<div>
<asp:GridView runat="server" ID="MyGridView">
    <Columns>
        <asp:TemplateField>
            <ItemTemplate>
                <asp:Label runat="server" ID="DisplayLabel" Text='<%# Eval("DateDataItem") %>' />
                <asp:CheckBox runat="server" ID="DisplayCheckBox" Checked='<%# Eval("BooleanDataItem %>' />
            </ItemTemplate>
            <EditItemTemplate>
                <asp:TextBox runat="server" ID="EditTextBox" Text='<%# Eval("DateDataItem") %>' />
                <ajaxtoolkit:CalendarExtender runat="server" ID="EditTextBoxCalendarExtender" TargetControlID="EditTextBox" />
                <asp:CheckBox runat="server" ID="DisplayCheckBox" Checked='<%# Eval("BooleanDataItem %>' /> 
            </EditItemTemplate>
       </asp:TemplateField>
       <asp:CommandField ShowEditButton="true" ButtonType="Link" EditText="Edit" 
ShowHeader="true" HeaderText="Edit" HeaderStyle-Font-Bold="true" Visible="true" HeaderStyle-Font-Bold="True" />

    </Columns>
</asp:GridView>