后台动态生成table表格

290 篇文章 1 订阅
12 篇文章 0 订阅

以前看到动态生成table的代码时,认为特别复杂,看到代码就不想看,认为这个用不到,而且还抱着一种难的心理.

不管则着,还是逃不过,躲避不是好的方法,这次就用到了动态生成表的要求,不学不行呀,不然页面达不到效果.

下面是我自己实现的一个实例

首先是在前台页面拖出一个htmltable , 我们可以设定表头,也可不设定表头

这里我就自己设定表头了


  1. <html>  
  2. <body>  
  3.     <form id="form1"runat="server">  
  4. < tableidtableid="tblAutoTable" class="data-table history"runat="server" style="width: 68%; margin-bottom: 0px; height:40px; margin: 0 ;" >  
  5.             <thead>  
  6.             <tr>         
  7.                     <thalignthalign="left">文件名</th>  
  8.                         <th  align="left">文件大小                             
  9.                        </th>  
  10.                 <thalignthalign="left"><input type="checkbox"id="checkAll" name="checkAll" />  
  11.                      </th>  
  12.                  </tr>  
  13.                 </thead>  
  14.             <tbody >  
  15. <!--这里是要进行拼接的表-->  
  16.             </tbody>  
  17.         </table>  
  18. </form>  
  19. </body>  
  20. </html>  

后台怎么设定,首先是获取查询到的数据(我是用Datatable获取查询到的数据的).


1后台循环dtatable中的行作为循环的次数.

2创建表的行

3创建表的列(可多列),给列赋值

4将列添加到表的行中

5将行添加到表中,进行循环,就得到一个表

 

下面是实例代码

[csharp] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. #region 查询文件  
  2.         /// <summary>  
  3.         /// 查询文件  
  4.         /// </summary>  
  5.         private void QueryFile()  
  6.         {  
  7. //创建Mongobd非结构化数据库连接  
  8.             MongoDatabase db = getConn();  
  9.             // MongoGridFS fs = newMongoGridFS(db); //默认读取的集合表名是filse  
  10. //设定查询的表名  
  11.             MongoGridFSSettings fsSetting = newMongoGridFSSettings() { Root = fileTable };  
  12. //初始化查询对象  
  13.             MongoGridFS fs = newMongoGridFS(db, fsSetting);  
  14. //执行查询的方法  
  15.            MongoCursor<MongoGridFSFileInfo> docList = fs.FindAll();  
  16.    
  17.             HtmlTableRow trFirst = newHtmlTableRow();//tianjai yihang  
  18.             HtmlTableCell tcTitle = newHtmlTableCell();  
  19.             tcTitle.InnerText ="文件名";  
  20.             trFirst.Controls.Add(tcTitle);  
  21.            //tblAutoTable.Controls.Add(trFirst);  
  22.             foreach (MongoGridFSFileInfo doc indocList)  
  23.             {  
  24.    
  25.                 UInt32 length =Convert.ToUInt32(doc.Length);  
  26.                 string size = null;  
  27.                 if (length > 1024 * 1024)  
  28.                     size = ((double)length /1024 / 1024).ToString("F2") + "MB";  
  29.                 else if (length > 1024)  
  30.                     size = ((double)length /1024).ToString("F2") + "KB";  
  31.                 else  
  32.                     size = length.ToString() +"B";  
  33.    
  34.                 //动态拼接表  
  35.                 HtmlTableRow tr = newHtmlTableRow();  
  36.                 //添加文件名列  
  37.                  
  38.                 HtmlTableCell tcCol = newHtmlTableCell();  
  39.                 string name = doc.Name;//获取文件名  
  40.                 tcCol.Width ="300";//设定列的宽度  
  41.                 tcCol.InnerHtml = "<ahref='/Teacher/mongodb/FileManage.ashx?action=DOWNLOAD&value="+name+"'target='_blank'>"+name+"</a>";//文件名实现单机下载图片  
  42.                 //Response.Write(name);  
  43.                tr.Controls.Add(tcCol);//将文件名列添加到行中  
  44.    
  45.                 //添加文件大小列  
  46.                 HtmlTableCell tc = newHtmlTableCell();  
  47.                 TextBox tb = newTextBox();//创建文本框对象  
  48.                 tb.Width = 120;//设定宽度  
  49.                 tb.Text = size;//设定文本框中的值  
  50.                 tc.Controls.Add(tb);//单元格内容赋值  
  51.                 tr.Controls.Add(tc);  
  52.                tblAutoTable.Controls.Add(tr);//将行添加到表中  
  53.    
  54.                 添加删除选项  
  55.                 //HtmlTableCell tcCheck = newHtmlTableCell();  
  56.                 //CheckBox tbcheck = newCheckBox();  
  57.                //tcCheck.Controls.Add(tbcheck);  
  58.                 //tcCheck.Width ="50";  
  59.                //tr.Controls.Add(tcCheck);                              
  60.             }  
  61.         }  
  62.         #endregion  

实例效果图如下



从代码的实例中可以看出,创建表格就是实例化对象,然后给对象赋值,它和先前的对象如出一辙的,并没有想象的那么难。


对比:

对于一个已经创建好的Dtatable,如何给Datatable循环添加行和列,于此类似,大家可以对比研究。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值