`
yanfaguanli
  • 浏览: 660240 次
文章分类
社区版块
存档分类
最新评论

后台动态生成table表格

 
阅读更多

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

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

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

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

这里我就自己设定表头了


  1. <html>
  2. <body>
  3. <formid="form1"runat="server">
  4. <tableidtableid="tblAutoTable"class="data-tablehistory"runat="server"style="width:68%;margin-bottom:0px;height:40px;margin:0;">
  5. <thead>
  6. <tr>
  7. <thalignthalign="left">文件名</th>
  8. <thalign="left">文件大小
  9. </th>
  10. <thalignthalign="left"><inputtype="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 plaincopy在CODE上查看代码片派生到我的代码片
  1. #region查询文件
  2. ///<summary>
  3. ///查询文件
  4. ///</summary>
  5. privatevoidQueryFile()
  6. {
  7. //创建Mongobd非结构化数据库连接
  8. MongoDatabasedb=getConn();
  9. //MongoGridFSfs=newMongoGridFS(db);//默认读取的集合表名是filse
  10. //设定查询的表名
  11. MongoGridFSSettingsfsSetting=newMongoGridFSSettings(){Root=fileTable};
  12. //初始化查询对象
  13. MongoGridFSfs=newMongoGridFS(db,fsSetting);
  14. //执行查询的方法
  15. MongoCursor<MongoGridFSFileInfo>docList=fs.FindAll();
  16. HtmlTableRowtrFirst=newHtmlTableRow();//tianjaiyihang
  17. HtmlTableCelltcTitle=newHtmlTableCell();
  18. tcTitle.InnerText="文件名";
  19. trFirst.Controls.Add(tcTitle);
  20. //tblAutoTable.Controls.Add(trFirst);
  21. foreach(MongoGridFSFileInfodocindocList)
  22. {
  23. UInt32length=Convert.ToUInt32(doc.Length);
  24. stringsize=null;
  25. if(length>1024*1024)
  26. size=((double)length/1024/1024).ToString("F2")+"MB";
  27. elseif(length>1024)
  28. size=((double)length/1024).ToString("F2")+"KB";
  29. else
  30. size=length.ToString()+"B";
  31. //动态拼接表
  32. HtmlTableRowtr=newHtmlTableRow();
  33. //添加文件名列
  34. HtmlTableCelltcCol=newHtmlTableCell();
  35. stringname=doc.Name;//获取文件名
  36. tcCol.Width="300";//设定列的宽度
  37. tcCol.InnerHtml="<ahref='/Teacher/mongodb/FileManage.ashx?action=DOWNLOAD&value="+name+"'target='_blank'>"+name+"</a>";//文件名实现单机下载图片
  38. //Response.Write(name);
  39. tr.Controls.Add(tcCol);//将文件名列添加到行中
  40. //添加文件大小列
  41. HtmlTableCelltc=newHtmlTableCell();
  42. TextBoxtb=newTextBox();//创建文本框对象
  43. tb.Width=120;//设定宽度
  44. tb.Text=size;//设定文本框中的值
  45. tc.Controls.Add(tb);//单元格内容赋值
  46. tr.Controls.Add(tc);
  47. tblAutoTable.Controls.Add(tr);//将行添加到表中
  48. ////添加删除选项
  49. //HtmlTableCelltcCheck=newHtmlTableCell();
  50. //CheckBoxtbcheck=newCheckBox();
  51. //tcCheck.Controls.Add(tbcheck);
  52. //tcCheck.Width="50";
  53. //tr.Controls.Add(tcCheck);
  54. }
  55. }
  56. #endregion

实例效果图如下



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


对比:

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics