本文主要是介绍Table是怎样炼成的:SaleReport Table的继承者,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
有了Table,我们对其继承,实现更符合业务要求的类
/**/ /// <summary>2
/// 描述一个销售报表3
/// </summary> 4
public class SaleReport : Table5

{6

7
public SaleReport(string reportName)8
: base(reportName, new ColumnCollection())9

{10

11
this.Columns.Add("序号", typeof(int), 0);12
this.Columns.Add("姓名", typeof(string), null);13
this.Columns.Add("商品名称", typeof(string), null);14
this.Columns.Add("日期", typeof(DateTime), null);15
this.Columns.Add("数量", typeof(double), null);16
}17

18

/**//// <summary>19
/// 报表的名称20
/// </summary>21
public string Name22

{23
get24

{25
return this.Name;26
}27
}28

29

/**//// <summary>30
/// 加入数据31
/// </summary>32
/// <param name="staff"></param>33
/// <param name="commodity"></param>34
/// <param name="cash"></param>35
public void AddRecord(string staff, string commodity, double cash)36

{37
Row row = this.NewRow();38
row["序号"] = this.Rows.Count + 1;39
row["姓名"] = staff;40
row["商品名称"] = commodity;41
row["日期"] = DateTime.Now;42
row["数量"] = cash;43

44
this.Rows.Add(row);45
}46

47

/**//// <summary>48
/// 移除数据49
/// </summary>50
/// <param name="index"></param>51
public void RemoveAt(int index)52

{53
this.Rows.RemoveAt(index);54
}55

56

/**//// <summary>57
/// 返回销售报表的销售金额58
/// </summary>59
/// <returns></returns>60
public double GetTotal()61

{62
double cash = 0;63
foreach (Row row in this.Rows)64

{65
cash += (double)row["数量"];66
}67
return cash;68
}69

70

/**//// <summary>71
/// 返回销售报表的销售金额72
/// </summary>73
/// <param name="staff">销售员</param>74
/// <returns></returns>75
public double GetTotal(string staff)76

{77
double cash = 0;78
foreach (Row row in this.Rows)79

{80
if ((string)row["姓名"] == staff)81

{82
cash += (double)row["数量"];83
}84
}85
return cash;86
}87

88
}
SaleReport对外封装了对Table的处理细节,使用SaleReport的用户不会感觉到在使用Table类
SaleReport report = new SaleReport( " 销售台帐 " );2
report.AddRecord( " Alex " , " Phone " , 2600 );3
report.AddRecord( " Alex " , " PC " , 4560 );4
report.AddRecord( " Alex " , " Table " , 234 );5
report.AddRecord( " Sidney " , " Phone " , 2100 );6
report.AddRecord( " Sidney " , " TV " , 4500 );7
report.AddRecord( " Tom " , " oven " , 300 );8
report.AddRecord( " Leo " , " oven " , 240 );9

10
report.Print();
运行的结果是
序号 姓名 商品名称 日期 数量
1 Alex Phone 2007-2-13 23:19:27 2600
2 Alex PC 2007-2-13 23:19:27 4560
3 Alex Table 2007-2-13 23:19:27 234
4 Sidney Phone 2007-2-13 23:19:27 2100
5 Sidney TV 2007-2-13 23:19:27 4500
6 Tom oven 2007-2-13 23:19:27 300
7 Leo oven 2007-2-13 23:19:27 240
这篇关于Table是怎样炼成的:SaleReport Table的继承者的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!