asp.net动态创建gridview编辑模板字段

时间:2013-07-15 13:49:31

标签: c# asp.net gridview dynamic

我有一个gridview动态绑定数据。 它具有SELECT和EDIT命令。

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

我想要做的是将Ajax Calendar Extender添加到其中一个文本框中。

如何为一个字段创建一个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();
    }

0 个答案:

没有答案