代码之家  ›  专栏  ›  技术社区  ›  cllpse

以编程方式将文本框控件插入到gridview.footerrow中

  •  1
  • cllpse  · 技术社区  · 15 年前

    您可以修改列和 普通项 列中的 GRIDVIEW 头尾 . 但这是不可能的 脚行 因为它是只读的。

    有什么方法可以用程序添加 文本框 控件到页脚 GRIDVIEW 控制?


    注意:我添加的控件不需要数据绑定。

    3 回复  |  直到 11 年前
        1
  •  0
  •   NeedHack    15 年前

    是的,我自己也试过了,它很好用,这是完整的代码…

    <%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server"    OnRowDataBound="GridView1_RowDataBound"
                ShowFooter="True">
            </asp:GridView>
        </div>
        </form>
    </body>
    </html>
    
    using System;
    using System.Collections.Generic;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class _Default : Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<string> animals = new List<string>();
            animals.Add("Cat");
            animals.Add("Dog");
            animals.Add("Horse");
    
            GridView1.DataSource = animals;
            GridView1.DataBind();
        }
    
        protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType != DataControlRowType.Footer) return;
            TextBox textBox = new TextBox();
            e.Row.Cells[0].Controls.Add(textBox);
        }
    }
    
        2
  •  1
  •   NeedHack    15 年前

    我可能遗漏了一些内容,但您不能挂接到rowdatabound事件并添加这样的控件吗?

    protected void GridView_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Footer)
        {
            TextBox textBox = new TextBox();
            textBox.Text = "Hello";
            e.Row.Cells[0].Controls.Add(textBox);
        }
    }
    
        3
  •  0
  •   Kate Gregory    11 年前

    尝试将控件添加到 gridview gridview_RowCreated 事件

    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {`enter code here`
            if (e.Row.RowType == DataControlRowType.Footer)
            {
                TextBox txt = new TextBox();
                txt.ID = "txt_Name";
                e.Row.Cells[0].Controls.Add(txt);
    
    
            }