用鸡蛋能做什么好吃的:gridview嵌套gridview的方法

来源:百度文库 编辑:偶看新闻 时间:2024/05/04 23:50:22

gridview嵌套gridview的方法  

2008-12-23 11:29:51|  分类: 默认分类 |字号 订阅

网上也有关于gridview的嵌套方法,感觉不灵活.所以自己写一个.

*.aspx 代码 很简单

*.aspx.cs 多余的代码已经去了.

protected void Page_Load(object sender, EventArgs e)

    {

        if (!IsPostBack)

        {

            GridView1.DataSource = CreateList("钢铁");

            GridView1.DataBind();

        }

    }

   ///外层gv行绑定

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        if (e.Row.RowIndex > -1)

        {

            foreach (TableCell cell in e.Row.Cells)

            {

                cell.Controls.Add(GetGridView(cell.Text));

            }

        }

    }

    //第二个GridView

    private GridView GetGridView(string Text)

    {

        GridView gv = new GridView();

        gv.ID = string.Concat(Text, "id");

        gv.DataSource = CreateList(Text);

        gv.DataBind();

        gv.HeaderRow.Visible = false;

        gv.Font.Size = FontUnit.Parse("12px");

        gv.Width = Unit.Parse("100%");

        //gv.RowDataBound += event;  再往下嵌套.....

        return gv;

    }

    //记录集

    public ICollection CreateList(string Text)

    {

        DataTable dt = new DataTable();

        dt.Columns.Add(new DataColumn("一季度", typeof(System.String)));

        dt.Columns.Add(new DataColumn("二季度", typeof(System.String)));

        DataRow dr;

        for (int i = 0; i < 10; i++)

        {

            Random r = new Random();

            dr = dt.NewRow();

            dr[0] = i.ToString() + "月";

            dr[1] = r.Next(99).ToString() + "%";

            dt.Rows.Add(dr);

        }

        return new System.Data.DataView(dt);

    }