在asp.net 中如何动态的创建表格?就是vs2008工具箱中的html table控件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在asp.net 中如何动态的创建表格?就是vs2008工具箱中的html table控件相关的知识,希望对你有一定的参考价值。
动态创建是指可以创建用户指定行数列数的表格 请给出cs代码
文件1: Deafault.aspx<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_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>HtmlTable演示</title>
</head>
<body>
<h1>HtmlTable实例演示</h1>
<form id="Form1" runat="server">
<table id="MyTable" cellpadding="5" cellspacing="0" border="1" runat="server" >
<tbody>
</tbody>
</table><p>
输入表格行数:
<input type="text" id="MyTextOne" value="1" runat="server"/></p>
<p>输入表格单元格:
<input type="text" id="MyTextTwo" value="1" runat="server" /></p>
<p><input id="Submit1" type="submit" value="产生表格" runat="server" onserverclick="Submit1_ServerClick" /></p>
</form>
</body>
</html>
文件2:Deafault.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
protected void Page_Load(object sender, EventArgs e)
protected void Submit1_ServerClick(object sender, EventArgs e)
int row = 0;
int numrows = Convert.ToInt32(MyTextOne.Value); // 获得文本框中整型数
int numcells = Convert.ToInt32(MyTextTwo.Value);
for (int j = 0; j < numrows; j++)
HtmlTableRow r = new HtmlTableRow();
if (row % 2 == 1)// 设置行的背景色
r.BgColor = "Gainsboro";
row++;
for (int i = 0; i < numcells; i++)
HtmlTableCell c = new HtmlTableCell(); //创建单元格对象
c.Controls.Add(new LiteralControl("行: " + (j + 1).ToString() + ", 单元格: " +(i + 1).ToString()));
r.Cells.Add(c); //添加该单元格对象
MyTable.Rows.Add(r);//添加行对
HtmlTableRow r2 = new HtmlTableRow();
HtmlTableCell c2 = new HtmlTableCell();
c2.Controls.Add(new LiteralControl("吉林大学远程教育学院"));
c2.ColSpan = 3; //合并单元格,colspan属性可以实现单元格跨越多列
r2.Cells.Add(c2);
MyTable.Rows.Add(r2);
参考技术A <html>
<body>
<form runat="server">
<span>Table rows: </span><asp:TextBox ID="rows1" runat="server"></asp:TextBox>
<br />
<span>Table cells: </span><asp:TextBox ID="cells1" runat="server"></asp:TextBox>
<br/>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
<br/>
<table id="t1" border="1" runat="server" visible="false"/>
</form>
</body>
</html>
C# 代码(Button1的响应函数)
//Button1_Click
protected void Button1_Click(object sender, EventArgs e)
int numrows = Int32.Parse(this.rows1.Text);
int numcells = Int32.Parse(this.cells1.Text);
int row=0;
for(int j=0;j<numrows;j++)
HtmlTableRow r=new HtmlTableRow();
row=row+1;
for(int i=0;i<numcels;i++)
HtmlTableCell c =new HtmlTableCell();
c.Controls.Add(New LiteralControl("row "+j+", cell "+ i));
r.Cells.Add(c);
this.t1.Rows.Add(r);
this.t1.Visible=true;
本回答被提问者和网友采纳 参考技术B 下面是手动创的。自己要加行就用<tr></tr> 想加列就在<tr><td></td>><td></td>><td></td></tr>
我帮你给一个5行6列的表。。你用的时候想要多大就自己拉
<table>
<tr>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>3</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>4</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>5</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
不知道你要的是不是这样的。但手动创这样可以。如果 要加东西就在这里面自己加。要加行就用<tr></tr>l要加列就在<tr></tr>中加。不懂的再问 参考技术C 不用去直接拖table控件的,切换到 设计 页面,把光标移到你要插入表格的地方,在工具栏上,有“表(A)”,单击它,再单击“插入表”,就会弹出对话框,在此就可以设置表的行数,列数以及表的一些属性了。 参考技术D 请说具体一点,你想实现什么功能
如何在 HTML 表格中传输 asp.net 网格视图数据
【中文标题】如何在 HTML 表格中传输 asp.net 网格视图数据【英文标题】:How to transfer asp.net grid view data in HTML table 【发布时间】:2011-03-13 17:17:12 【问题描述】:我在 asp.net 中工作,我正在使用网格视图,现在我想将动态的网格视图数据转换为 html 表,以便我可以发送电子邮件。如果有人知道,请告诉我。 谢谢你
【问题讨论】:
【参考方案1】:你可以使用
using System.IO;
using System.Text;
using System.Net.Mail;
private string GridViewToHtml(GridView gv)
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
HtmlTextWriter hw = new HtmlTextWriter(sw);
gv.RenderControl(hw);
return sb.ToString();
protected void SendMailButton_Click(object sender, EventArgs e)
MailMessage mail = new MailMessage();
mail.Body = GridViewToHtml(GridView1);
mail.IsBodyHtml = true;
// The same logic as you use for sending mail
public override void VerifyRenderingInServerForm(Control control)
【讨论】:
我的问题是 npt 发送电子邮件,我的问题是如何将 asp.net 网格视图数据转换为表格 @Renu123c 为什么需要桌子? @Renu123 - 您将在sb.ToString();
中获得gridview html。我想这就是答案。【参考方案2】:
Kettic GridView 控件可以轻松地export the data in GridView to HTML 并创建一个 html 格式的文件以在 Web 浏览器或 MS Word 中查看。
【讨论】:
以上是关于在asp.net 中如何动态的创建表格?就是vs2008工具箱中的html table控件的主要内容,如果未能解决你的问题,请参考以下文章
GridView 对比HTML 表格 (ASP.net 2.0)