ASP.NET中用后台代码创建DataTable和HTML表格
2015-03-14 00:23
549 查看
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebHTML_Table._Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>HTML表格测试</title> <style type="text/css"> tr { line-height:22px; } A { color:#669966; } .table_tr_Over { background-color:#F6F6F6; } .table_tr_Out { background-color:#FFFFFF; } </style> </head> <body> <form id="form1" runat="server"> <div> <asp:PlaceHolder ID="plhTable" runat="server"></asp:PlaceHolder> </div> </form> </body> </html>
后台文件:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Web.UI.HtmlControls; namespace WebHTML_Table { public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { Initialize(); } } /// <summary> /// 初始化 /// </summary> private void Initialize() { //获取数据集 DataTable tableSource = getTable(); if (null == tableSource) { return; } //创建HTML表格 HtmlTable tableHTML = new HtmlTable(); //初始化表格 tableHTML.Width = "100%"; tableHTML.CellPadding = 0; tableHTML.CellSpacing = 0; tableHTML.Border = 1; //HTML行 HtmlTableRow rowHTML = new HtmlTableRow(); //HTML单元格 HtmlTableCell cellHTML = new HtmlTableCell(); //HTML<A>元素 HtmlAnchor AnchorHTML; //第一步:将表格的标题获取出来 for (int i = 0; i < tableSource.Columns.Count; i++) { cellHTML = new HtmlTableCell(); cellHTML.Align = "center"; cellHTML.VAlign = "middle"; cellHTML.InnerHtml = "<b>" + tableSource.Columns[i].ToString() + "</b>"; rowHTML.Cells.Add(cellHTML); tableHTML.Rows.Add(rowHTML); } //第二步:添加表格的内容,遍历数据集 foreach (DataRow item in tableSource.Rows) { //创建新的行 rowHTML = new HtmlTableRow(); //添加特效事件 rowHTML.Attributes.Add("onmouseover", "this.className='table_tr_Over'"); rowHTML.Attributes.Add("onmouseout", "this.className='table_tr_Out'"); //依次循环tableSource中某一行的每一列,跟踪一下就明白 for (int i = 0; i < tableSource.Columns.Count; i++) { //创建新的元素 AnchorHTML = new HtmlAnchor(); AnchorHTML.HRef = "Index.aspx"; //可根据item[i]或item["Name"]来获取数据 AnchorHTML.InnerHtml = item[tableSource.Columns[i].ToString()].ToString(); //创建新的单元格 cellHTML = new HtmlTableCell(); //添加元素 cellHTML.Controls.Add(AnchorHTML); //添加单元格 rowHTML.Cells.Add(cellHTML); } //向HTML表格中添加行 tableHTML.Rows.Add(rowHTML); } //向PlaceHolder容器中添加表格 plhTable.Controls.Add(tableHTML); } /// <summary> /// 获取数据集 /// </summary> /// <returns></returns> private DataTable getTable() { //创建表 DataTable tableInfo = new DataTable(); //列 DataColumn dcName = new DataColumn("Name", Type.GetType("System.String")); DataColumn dcEmail = new DataColumn("Email", Type.GetType("System.String")); DataColumn dcAddress = new DataColumn("Address", Type.GetType("System.String")); //添加列 tableInfo.Columns.Add(dcName); tableInfo.Columns.Add(dcEmail); tableInfo.Columns.Add(dcAddress); for (int i = 0; i < 10; i++) { //行 DataRow dr = tableInfo.NewRow(); dr["Name"] = "Name" + i.ToString(); dr["Email"] = "Email" + i.ToString(); dr["Address"] = "Address" + i.ToString(); //添加行 tableInfo.Rows.Add(dr); } return tableInfo; } } }
相关文章推荐
- ASP.NET中用后台代码创建DataTable和HTML表格
- asp.net中用代码动态创建表格的完整代码
- ASP.NET C# 用后台代码实现 跨域名访问 返回HTML代码
- 在ASP.NET中,后台代码向页面写HTML代码
- ASP.NET MVC用IHttpModule修改response的html实现压缩或者转繁体,IHttpModule用后台代码注册
- ASP.NET中在后台用C#,往前台插入HTML代码
- 分页查询--前台HTML+后台asp.net代码
- 在ASP.NET中利用HtmlTable动态创建表格
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
- asp.net后台代码访问前台html标签
- 在asp.net中将HTML代码写在后台的优点是什么?
- ASP.NET 用代码创建HtmlTable
- Asp.Net_后台代码访问前台html标签
- asp.net mvc+jquery easyui开发实战教程之网站后台管理系统开发4- 后台模板html页面创建
- Asp.net 2.0 自定义控件开发[创建自定义右键PopupMenu控件][示例代码下载]
- [导入]Asp.net 2.0 自定义控件开发[创建自定义右键PopupMenu控件][示例代码下载]
- Asp.net 2.0 自定义控件开发[创建自定义HeaderRow的GridView控件][示例代码下载]
- ASP.NET 2.0后台代码与内联代码的对比(2)
- 类似msn的提示效果代码系列三:脚本消息提示类和asp.net后台代码的结合