• ASP.NET GridView手动控制行数


    最近项目中需要gridview动态生成行数,最后解决办法如下: 

     ICollection CreateDataSource()
      {
        System.Data.DataTable dt = new System.Data.DataTable();
        System.Data.DataRow dr;
        dt.Columns.Add(new System.Data.DataColumn("AAA", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("BBB", typeof(System.String)));
        dt.Columns.Add(new System.Data.DataColumn("CCC", typeof(System.Decimal)));
        dt.Columns.Add(new System.Data.DataColumn("DDD", typeof(System.Decimal)));

        for (int i = 0; i < 10; i++)
        {
          System.Random rd = new System.Random(Environment.TickCount * i); ;
          dr = dt.NewRow();
          dr[0] = "TEST" + i.ToString();
          dr[1] =  i.ToString();
                dt.Rows.Add(dr);
        }
        System.Data.DataView dv = new System.Data.DataView(dt);
        return dv;
      }

        int TotalRowCount = 12;
      // 自动填充行数
      int numCount = 0;
      protected void Page_Load(object sender, EventArgs e)
      {
        if (!Page.IsPostBack)
        {
            GridView1.DataSource = CreateDataSource();
          GridView1.DataBind();
        }
      }

      protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
      {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
          numCount++;
        }
        if (e.Row.RowType == DataControlRowType.Footer)
        {
          int toLeft = TotalRowCount - numCount;
          int numCols = GridView1.Rows[0].Cells.Count;

          for (int i = 0; i < toLeft; i++)
          {
            GridViewRow row = new GridViewRow(-1, -1, DataControlRowType.EmptyDataRow, DataControlRowState.Normal);
            for (int j = 0; j < numCols; j++)
            {
              TableCell cell = new TableCell();
              cell.Text = " ";
              row.Cells.Add(cell);
            }
            GridView1.Controls[0].Controls.AddAt(numCount + 1 + i, row);
          }
        }
      }

    作者:Allen Chen无影
    邮箱:allen0717@163.com
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    羊年春节微信数据大解析
    微信公众号推荐(自己关注的微信公众平台导航)
    微信要革"传统电视"的命吗?
    微信是在学苹果模式吗?
    发微信红包啦!借花献佛
    有原创保护能力的公众帐号可申请页面模版功能和图文消息正文插入历史群发链接
    编程能力与编程年龄
    代码执行的效率
    对九个超级程序员的采访
    编程真难啊
  • 原文地址:https://www.cnblogs.com/allen0118/p/1934176.html
  • Copyright © 2020-2023  润新知