由于目前的项目是web程序,有的地方需要在网页上输出表格,因此研究了一下。 用baidu搜索了一下,发现方法还真多,比较了一下,决定采用最传统html标签的方法,好像这种方法的灵活性要大些吧。
(1)首先,需要了解html标签,要输入表格要用到三种标签,table表示表格,tr表示行,td表示列。要很好的控制页面,最好将整个网页先定义一个大表格,然后在这个表格中在镶嵌表格,然后再在镶嵌的表格中再画出行和列。我们需要先把表格的框架搭好,然后将表格的表头写好,大小固定好。html代码如下:
<table style="WIDTH: 100%; BORDER-COLLAPSE: collapse; HEIGHT: 10px">
<tr>
<td align="center">
<TABLE id="tblContainer" class="MsoNormalTable" style="WIDTH: 380px; table-layout:fixed; WORD- BREAK:break-all;BORDER-COLLAPSE: collapse; HEIGHT: 10px"
cellSpacing="0" cellPadding="6" border="1" runat="server" bordercolor="#99cccc">
<tr>
<td colspan="3" align="center" style="height: 20px">
查询
</td>
</tr>
<tr>
<td width="120" align="center">时间
</td>
<td width="120" align="center">内容
</td>
<td width="120" align="center">号码
</td>
</tr>
</table>
</td>
</tr>
</table>
(2)表格和表头定义好后,我们要往里面添加内容了。我们可以用一个函数来循环添加。具体的方法是:先定义Label(文本标签)对象,把文本放在这个对象。然后定义HtmlTableCell(表格单元)对象,将这个文本标签对象作为子控件添加到这个对象中。然后再定义HtmlTableRow(行对象),将表格单元对象添加进去。具体代码见下。
HtmlTableCell cell=new HtmlTableCell();
cell.Align = "Center";
Label lbl = new Label();
lbl.Text = "2007-6-19";
lbl.Font.Size = 9;
cell.Controls.Add(lbl);
HtmlTableRow row=new HtmlTableRow();
row.Cells.Add(cell);
HtmlTableCell cellContent = new HtmlTableCell();
cellContent.Align = "Center";
cellContent.NoWrap = false;
//cellContent.Width = "20";
Label lblContent = new Label();
//lblRole.Width = 20;
lblContent.Text = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
lblContent.Font.Size = 9;
cellContent.Controls.Add(lblContent);
row.Cells.Add(cellContent);
HtmlTableCell cellNum = new HtmlTableCell();
cellNum.Align = "Center";
cellNum.NoWrap = false;
//cellNum.Width = "20";
Label lblNum = new Label();
//lblRole.Width = 20;
lblNum.Text = "13977350251";
lblNum.Font.Size = 9;
cellNum.Controls.Add(lblNum);
row.Cells.Add(cellNum);
tblContainer.Rows.Add(row);
采用循环,一行一行添加,当一行填满后,就用 tblContainer.Rows.Add(row); 添加到网页表格中去。 tblContainer在html中的表格定义中定义了,表示内表格这个控件。