我网站现在的输出如下: |
|
你可以前端放个asp:table
后台定义 TableRow tr=new TableRow(); TableCell tc=new TableCell(); tc.Text=xxx; tr.Cells.Add(tc); table.Rows.Add(tr); 可以设置tc.ColumnSpan=2或tc.RowSpan=2合并单元格 |
|
tc.BorderColor = Color.Black;//设置线框颜色
tc.BorderWidth = new Unit(1);//线框宽度 tc.HorizontalAlign = HorizontalAlign.Center;//水平居中 tc.Controls.Add(newHyperLink);//单元格里放个HyperLink tc.RowSpan = 2;//2行合并 tc.BackColor = Color.Red;//背景色 tr.Height = new Unit(20);//行高 |
|
首先 你要截取你的 每一个行的字符串 分成3列。 在后台 拼接table,根据第一个名称 设置rowSpan
|
|
前台定义一个asp:table 给个ID
后台每一行数据新建一个tablerow 每一个单元格新建tablecell 设置tablecell的text属性 将tablecell加入tablerow中 |
|
我的结果变成了这样: 我该怎么改进?我后台代码是这样的: |
|
前台页面
<asp:table runat=server xxx xxx 此处省略 xxx cellpadding=0> 这个属性也可以在设计器里修改,默认它是-1,那么单元格与单元格之间就会留空白.设置成0,就都紧挨着了 |
|
还有,合并单元格之后,注意行数或列数会改变
比如你第1行第1列两行合并了单元格,那么第一行有3列 |
|
40分 |
所以你应该先把所有第1列相同的筛出来,单独处理
有2行相同,就RowSpan=2 有3行相同,就RowSpan=3 之后就不要再给第一列add tablecell(只第一次赋值,之后的重复数据都不再给第一列赋值) |
非常感谢,再问两个问题: |
|
1.清空table:table1.rows.clear();
2.合并单元格,其实跟合并subject一样,不过你应该先按测试路径排序,把相同的放到一起,再判断上下两个是否相同,相同就合并 |