当前位置:编程学习 > C#/ASP.NET >>

GridView的行数显示问题

GridView显示12行, 数据表了有7行内容。

页面显示7行。我想总体显示12行的高度不变。余下的5行空白也行。
不分页。。。 --------------------编程问答-------------------- datatable中自己添加空行 --------------------编程问答--------------------
引用 1 楼  的回复:
datatable中自己添加空行

数据表里的数据不是一成不变的。。。有可能增加一行数据,或减少一行数据。 --------------------编程问答-------------------- 12 - (  数据行数 %12 ) 是你需要添加的行。 --------------------编程问答--------------------
引用 3 楼  的回复:
12 - (  数据行数 %12 ) 是你需要添加的行。
看不明白,能否说明白点 --------------------编程问答-------------------- 貌似不行吧 --------------------编程问答-------------------- 应该是自动添加的吧。 如果加一行难道就不自动了? --------------------编程问答-------------------- 首先提取数据库中的总条数。
再使用这个公式:
12 - ( 总条数 %12 ) 是你需要添加的行。

在GridView中添加 多余的空白行。 --------------------编程问答-------------------- [Quote=引用 4 楼  的回复:]
引用 3 楼 的回复:

12 - ( 数据行数 %12 ) 是你需要添加的行。

++
程序员都是这样累死的,加班也是这样出来的。
--------------------编程问答-------------------- 固定行数的GridView

<%@ Page Language="C#" Debug="true" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  
  // 设置每页显示的行数 
  int TotalRowCount = 12;
  protected void Page_Load(object sender, EventArgs e)
  {
    String sort = "DESC";
    if (!Page.IsPostBack)
    {
      System.Data.DataTable dt = new System.Data.DataTable();
      System.Data.DataRow dr;
      dt.Columns.Add(new System.Data.DataColumn("UserId", typeof(System.Int32)));
      dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
      dt.PrimaryKey = new System.Data.DataColumn[] { dt.Columns["UserId"]};
      dt.Columns[0].AutoIncrement = true;
       
      for (int i = 0; i < 8; i++)
      {
        dr = dt.NewRow();
        dr[0] = i.ToString();
        dr[1] = "【孟子E章】" + i.ToString();
        dt.Rows.Add(dr);
      }
      System.Data.DataView dv = dt.DefaultView;
      dv.Sort = "UserId " + sort; //排序
      int addCount = TotalRowCount - dv.Table.Rows.Count;
 
      if (sort == "ASC")
      {
        int MaxID = Convert.ToInt32(dv.Table.Compute("Max(UserId)",""));
        for (int i = 1; i <= addCount; i++)
        {
          dv.Table.Rows.Add(new Object[] { MaxID + i, "" });
        }
      }
      else
      {
        for (int i = 1; i <= addCount; i++)
        {
          dv.Table.Rows.Add(new Object[] { -1 * i, "" });
        }
      }    
       
       
      GridView1.DataSource = dt;
      GridView1.DataBind();
 
      GridView2.DataSource = dt;
      GridView2.DataBind();
    }
  }
  
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>自动填充固定行数的 GridView</title>
</head>
<body>
  <form id="form1" runat="server">
  <h3>显示1</h3>
  <asp:GridView ID="GridView1" runat="server">
  </asp:GridView>
  <h3>显示2</h3>
  <asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="false">
    <Columns>
      <asp:BoundField DataField="Name" />
    </Columns>
  </asp:GridView>
  </form>
</body>
</html>
 
 
无主键的方法
<%@ Page Language="C#" Debug="true" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  
  // 设置每页显示的行数 
  int TotalRowCount = 12;
  protected void Page_Load(object sender, EventArgs e)
  {
    if (!Page.IsPostBack)
    {
      System.Data.DataTable dt = new System.Data.DataTable();
      System.Data.DataRow dr;
      dt.Columns.Add(new System.Data.DataColumn("Id", typeof(System.Int32)));
      dt.Columns.Add(new System.Data.DataColumn("Name", typeof(System.String)));
 
      for (int i = 0; i < 8; i++)
      {
        dr = dt.NewRow();
        dr[0] = i.ToString();
        dr[1] = "【孟子E章】" + i.ToString();
        dt.Rows.Add(dr);
      }
      System.Data.DataView dv = dt.DefaultView;
      dv.Sort = "Id DESC"; //排序
      int addCount = TotalRowCount - dv.Table.Rows.Count;
      for (int i = 0; i < addCount; i++)
        dv.Table.Rows.Add();
 
      GridView1.DataSource = dt;
      GridView1.DataBind();
    }
  }
 
  
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
  <title>自动填充固定行数的 GridView</title>
</head>
<body>
  <form id="form1" runat="server">
  <asp:GridView ID="GridView1" runat="server">
  </asp:GridView>
  </form>
</body>
</html> --------------------编程问答--------------------     BLL.QueryReport  bll = new  BLL.QueryReport();
  DataSet myTable = bll.调用方法名();
//生成的合计
 if(myTable.Rows.Count<12)
    {
DataRow AcountRow = myTable.NewRow();
   for(int count=0;count<12-myTable.Rows.Count;count++)
{
AcountRow[0] = "";
... ....
         AcountRow[n] = "";
     myTable.Rows.Add(AcountRow);
 }
}
GridView1.DataSource = myTable;
GridView1.DataBind(); --------------------编程问答--------------------
引用 10 楼  的回复:
BLL.QueryReport bll = new BLL.QueryReport();
  DataSet myTable = bll.调用方法名();
//生成的合计
 if(myTable.Rows.Count<12)
  {
DataRow AcountRow = myTable.NewRow();
  for(int count=0;count<12-myTable.Rows……


哦。不小心有点小错误了,正确为:
BLL.QueryReport bll = new BLL.QueryReport();
  DataSet myTable = bll.调用方法名();
 if(myTable.Rows.Count<12)
  {
  for(int count=0;count<12-myTable.Rows.Count;count++)
{
DataRow AcountRow = myTable.NewRow();//放到循环里面

  AcountRow[0] = "";//第一列为空
... .... 
  AcountRow[n] = ""; //第n列为空
  myTable.Rows.Add(AcountRow);
}
}
GridView1.DataSource = myTable;
GridView1.DataBind(); 
--------------------编程问答--------------------
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,