天天看点

Table是怎样炼成的:HtmlTable

昨天我们做的Table具有了Print方法,可以简单的打印数据。

现在我需要一个Table,可以把Table中的数据以Html的Table的格式输出。

而我只需要重写Print方法

1

Table是怎样炼成的:HtmlTable

public class HtmlTable : Table

2

Table是怎样炼成的:HtmlTable

 {

3

Table是怎样炼成的:HtmlTable

 public HtmlTable(string reportName, ColumnCollection cols)

4

Table是怎样炼成的:HtmlTable

 : base(reportName, cols)

5

Table是怎样炼成的:HtmlTable

6

Table是怎样炼成的:HtmlTable

7

Table是怎样炼成的:HtmlTable

 }

8

Table是怎样炼成的:HtmlTable

9

Table是怎样炼成的:HtmlTable

 public override void Print()

10

Table是怎样炼成的:HtmlTable

11

Table是怎样炼成的:HtmlTable

 System.Text.StringBuilder sb = new StringBuilder();

12

Table是怎样炼成的:HtmlTable

13

Table是怎样炼成的:HtmlTable

 //输出Table的开始标记

14

Table是怎样炼成的:HtmlTable

 sb.Append("<table>/n");

15

Table是怎样炼成的:HtmlTable

 //输出表头

16

Table是怎样炼成的:HtmlTable

 sb.Append("<thead>/n<tr>/n");

17

Table是怎样炼成的:HtmlTable

 foreach (Column col in this.Columns)

18

Table是怎样炼成的:HtmlTable

19

Table是怎样炼成的:HtmlTable

 sb.AppendFormat("<th>{0}</th>/n", col.ColumnName);

20

Table是怎样炼成的:HtmlTable

21

Table是怎样炼成的:HtmlTable

 sb.AppendLine("</tr>/n</thead>");

22

Table是怎样炼成的:HtmlTable

23

Table是怎样炼成的:HtmlTable

24

Table是怎样炼成的:HtmlTable

 //输出数据行

25

Table是怎样炼成的:HtmlTable

 foreach (Row row in this.Rows)

26

Table是怎样炼成的:HtmlTable

27

Table是怎样炼成的:HtmlTable

 sb.AppendLine("<tr>");

28

Table是怎样炼成的:HtmlTable

 foreach (object obj in row.ItemArray)

29

Table是怎样炼成的:HtmlTable

30

Table是怎样炼成的:HtmlTable

 sb.AppendFormat("<td>{0}</td>/n", obj);

31

Table是怎样炼成的:HtmlTable

 //System.Console.Write("{0}/t", obj);

32

Table是怎样炼成的:HtmlTable

33

Table是怎样炼成的:HtmlTable

 sb.AppendLine("</tr>");

34

Table是怎样炼成的:HtmlTable

 System.Console.WriteLine();

35

Table是怎样炼成的:HtmlTable

36

Table是怎样炼成的:HtmlTable

37

Table是怎样炼成的:HtmlTable

 //输出Table的结束标记

38

Table是怎样炼成的:HtmlTable

 sb.Append("</table>/n");

39

Table是怎样炼成的:HtmlTable

40

Table是怎样炼成的:HtmlTable

 System.Console.WriteLine(sb.ToString());

41

Table是怎样炼成的:HtmlTable

42

Table是怎样炼成的:HtmlTable

43

Table是怎样炼成的:HtmlTable

44

Table是怎样炼成的:HtmlTable

然后我们运行该SaleReport

Table是怎样炼成的:HtmlTable

 SaleReport report = new SaleReport("销售台帐");

Table是怎样炼成的:HtmlTable

 report.AddRecord("Alex", "Phone", 2600);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Alex", "PC", 4560);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Alex", "Table", 234);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Sidney", "Phone", 2100);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Sidney", "TV", 4500);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Tom", "oven", 300);

Table是怎样炼成的:HtmlTable

 report.AddRecord("Leo", "oven", 240);

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

 report.Print();

运行的结果是

Table是怎样炼成的:HtmlTable

<table>

Table是怎样炼成的:HtmlTable

<thead>

Table是怎样炼成的:HtmlTable

<tr>

Table是怎样炼成的:HtmlTable

<th>序号</th>

Table是怎样炼成的:HtmlTable

<th>姓名</th>

Table是怎样炼成的:HtmlTable

<th>商品名称</th>

Table是怎样炼成的:HtmlTable

<th>日期</th>

Table是怎样炼成的:HtmlTable

<th>数量</th>

Table是怎样炼成的:HtmlTable

</tr>

Table是怎样炼成的:HtmlTable

</thead>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>1</td>

Table是怎样炼成的:HtmlTable

<td>Alex</td>

Table是怎样炼成的:HtmlTable

<td>Phone</td>

Table是怎样炼成的:HtmlTable

<td>2007-2-14 20:39:31</td>

Table是怎样炼成的:HtmlTable

<td>2600</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>2</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>PC</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>4560</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>3</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>Table</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>234</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>4</td>

Table是怎样炼成的:HtmlTable

<td>Sidney</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>2100</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>5</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>TV</td>

Table是怎样炼成的:HtmlTable
Table是怎样炼成的:HtmlTable

<td>4500</td>

45

Table是怎样炼成的:HtmlTable

46

Table是怎样炼成的:HtmlTable

47

Table是怎样炼成的:HtmlTable

<td>6</td>

48

Table是怎样炼成的:HtmlTable

<td>Tom</td>

49

Table是怎样炼成的:HtmlTable

<td>oven</td>

50

Table是怎样炼成的:HtmlTable

51

Table是怎样炼成的:HtmlTable

<td>300</td>

52

Table是怎样炼成的:HtmlTable

53

Table是怎样炼成的:HtmlTable

54

Table是怎样炼成的:HtmlTable

<td>7</td>

55

Table是怎样炼成的:HtmlTable

<td>Leo</td>

56

Table是怎样炼成的:HtmlTable

57

Table是怎样炼成的:HtmlTable

58

Table是怎样炼成的:HtmlTable

<td>240</td>

59

Table是怎样炼成的:HtmlTable

60

Table是怎样炼成的:HtmlTable

</table>

现在我们得到了一个可以在HTML上产生表格的结果了。

谁说这个Table没有必要写的?

本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806268

继续阅读