教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> ASP.NET >> 自动填充固定行数的 GridView RSS订阅
自动填充固定行数的 GridView
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   
     在有些开发实践中,有时候为了页面美观的需要,需要将GridView填充成固定行数的表格,下面这个方法实现了这种填充的功能。此方法可以处理自动产生列和模版列。注意:由于时间关系,没有实现对完全空白数据的填充,呵呵,如果需要,可以自己添加哈:)!
  
  C#
  
  <%@ Page Language="C#"%>
  
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  
  <script runat="server">
   // 计算数据,完全可以从数据看取得
   ICollection CreateDataSourceByXianhuiMeng()
   {
   System.Data.DataTable dt = new System.Data.DataTable();
   System.Data.DataRow dr;
   dt.Columns.Add(new System.Data.DataColumn("学生班级", typeof(System.String)));
   dt.Columns.Add(new System.Data.DataColumn("学生姓名", typeof(System.String)));
   dt.Columns.Add(new System.Data.DataColumn("语文", typeof(System.Decimal)));
   dt.Columns.Add(new System.Data.DataColumn("数学", typeof(System.Decimal)));
   dt.Columns.Add(new System.Data.DataColumn("英语", typeof(System.Decimal)));
   dt.Columns.Add(new System.Data.DataColumn("计算机", typeof(System.Decimal)));
  
   for (int i = 0; i < 8; i++)
   {
   System.Random rd = new System.Random(Environment.TickCount * i); ;
   dr = dt.NewRow();
   dr[0] = "班级" + i.ToString();
   dr[1] = "【孟子E章】" + i.ToString();
   dr[2] = System.Math.Round(rd.NextDouble() * 100, 2);
   dr[3] = System.Math.Round(rd.NextDouble() * 100, 2);
   dr[4] = System.Math.Round(rd.NextDouble() * 100, 2);
   dr[5] = System.Math.Round(rd.NextDouble() * 100, 2);
   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 = CreateDataSourceByXianhuiMeng();
   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);
   }
   }
   }
  </script>
  
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
   <title>自动填充固定行数的 GridView</title>
  </head>
  <body>
   <form id="form1" runat="server">
   <ASP:GridView ID="GridView1" runat="server" OnRowDataBound="GridView1_RowDataBound"
   Font-Size="12px" CellPadding="3">
   <HeaderStyle BackColor="#EDEDED" />
   <Columns>
   <asp:TemplateField HeaderText="模版列">
   <ItemTemplate>
   <%#Eval("学生姓名") %>
   </ItemTemplate>
   </asp:TemplateField>
   </Columns>
   </asp:GridView>
   </form>
  </body>
  </html>
  
    。



来源:upschool.com.cn
作者:
关键字:自动填充固定行数,GridView
发表日期:2006-11-26

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:GridView 实现服务器端和客户端全选的两种方法   下一篇:一次编辑 GridView 的所有行


本文的相类似文章
  • 利用GridView显示主细表并一次编辑明细表所有数据的例子
  • 利用GridView显示主细表并添加删除、打开、关闭功能(续)
  • 两个简单方法加速DataGridView
  • 利用GridView显示主细表并添加打开、关闭功能
  • 扩展ASP.NET 2.0内置GridView控件之一
  • 重写GridView
  • 【ASP.NET2.0】使用GridView绑定XmlDocument对象
  • ASP.NET 2.0中将 GridView 导出到 Excel 文件中
  • ASP.NET 2.0中动态添加 GridView 模板列的例子
  • 创建表头固定,表体可滚动的GridView
  • 网友评论 查看本文全部评论
    笔 名: *
    评 论:
    最多500字。当前字数:0
    联系方式:
    验证码:
    在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com