如何在gridview页脚上插入任意html

时间:2011-05-21 19:41:30

标签: c# asp.net visual-studio-2010

你好我有一个由visual studio自动生成的gridview,其边界如下:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
    DataKeyNames="ID" DataSourceID="SqlDataSource1" Width="849px" 
    ShowFooter="True">
    <Columns>
        <asp:BoundField DataField="CarName" HeaderText="Car" 
            SortExpression="CarName"  />
        <asp:BoundField DataField="Color" HeaderText="Color" SortExpression="Color" />
    </Columns>
</asp:GridView>

我想在这些边界字段的页脚上插入一个文本框,以便用户可以输入新数据。我到处都看到只有带有templatefield的例子,但是没有带有boundfields这可能吗?

我不想使用templatefield,因为我不知道如何将来自sql server的数据绑定到它们。我尝试使用它的text属性,但编译器没有拾取那些作为html的文本框,如果我试图在aspx.cs文件中访问它们,则会引发异常。

无论如何都可以向gridview添加一个静态行,我只想让我的文本框与列对齐。

2 个答案:

答案 0 :(得分:1)

你确实可以使用TemplateFields second possibility是添加'RowDataBound'事件处理程序:

    public virtual void RowDataBound(object sender, GridViewRow row)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
        }
        else if (row.RowType == DataControlRowType.Footer && ShowFooter)
        {
        }
        else if (row.RowType == DataControlRowType.Header)
        {
            // here you need to be
            //row.Cells[0].Controls.Add(.....)
        }
    }

答案 1 :(得分:0)