天天看點

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

繼續閱讀