0

我有一个带有列的gridview

日期时间名称状态

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

<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 文本框,但我需要日期选择器和复选框才能在编辑模式下显示。怎么带。

任何想法???

4

1 回答 1

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>
于 2010-06-28T21:56:25.443 回答