0

我有一个网格视图,我将数据动态绑定到该网格视图。它具有 SELECT 和 EDIT 命令。

当它处于编辑模式时,所有字段都会变成可以编辑的文本框。

我想做的是向其中一个文本框添加一个 Ajax 日历扩展器。

如何仅为一个字段创建一个 TemplateField?甚至可能吗?如果我绑定所有字段并通过 SqlDataSource 分配数据,我知道该怎么做。

我尝试将模板字段添加到我的 gridview 中,但数据没有显示:

 <asp:GridView ID="gvCheckResults" runat="server" OnRowDataBound="gvCheckResults_RowDataBound"
OnRowEditing="gvCheckResults_RowEditing" OnRowUpdating="gvCheckResults_RowUpdating" OnRowCancelingEdit="gvCheckResults_RowCancelingEdit"
                     OnRowDeleting="gvCheckResults_RowDeleting">
                        <Columns>
                            <asp:TemplateField HeaderText="DateOfTest" SortExpression="DateOfTest">
                                <EditItemTemplate>
                                    <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("DateOfTest") %>'></asp:TextBox>
                                    <ajaxToolkit:CalendarExtender ID="test" runat="server"
                                    TargetControlID="TextBox1"
                                    CssClass="calendar"
                                    Format="dd/MM/yyyy">
                                    </ajaxToolkit:CalendarExtender>
                                </EditItemTemplate>
                                <ItemTemplate>
                                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("DateOfTest") %>'></asp:Label>
                                </ItemTemplate>
                            </asp:TemplateField>
                        </Columns>
                    </asp:GridView>

数据如何绑定:

protected void TestDataBind()
    {
        string Name = txtCheckName.Text;
        if (string.IsNullOrEmpty(Name))
            Name = null;
        gvCheckResults.DataSource = dataContext.GetRecords(Name);
        gvCheckResults.DataBind();
    }
4

0 回答 0