接下来的连续几篇,我们要演练作一个描述通用的二维表,并演示该二维表的继承通途。
先定义数据行的状态
1
Table是怎样炼成的:Row、RowCollection /// <summary>
2
Table是怎样炼成的:Row、RowCollection /// 数据行的状态
3
Table是怎样炼成的:Row、RowCollection /// </summary>
4
Table是怎样炼成的:Row、RowCollection public enum RowState
5
Table是怎样炼成的:Row、RowCollection {
6
Table是怎样炼成的:Row、RowCollection 7
Table是怎样炼成的:Row、RowCollection /// 新建状态
8
Table是怎样炼成的:Row、RowCollection 9
Table是怎样炼成的:Row、RowCollection Added,
10
Table是怎样炼成的:Row、RowCollection 11
Table是怎样炼成的:Row、RowCollection /// 删除状态
12
Table是怎样炼成的:Row、RowCollection 13
Table是怎样炼成的:Row、RowCollection Deleted,
14
Table是怎样炼成的:Row、RowCollection 15
Table是怎样炼成的:Row、RowCollection /// 修改状态
16
Table是怎样炼成的:Row、RowCollection 17
Table是怎样炼成的:Row、RowCollection Modified,
18
Table是怎样炼成的:Row、RowCollection 19
Table是怎样炼成的:Row、RowCollection /// 为止状态
20
Table是怎样炼成的:Row、RowCollection 21
Table是怎样炼成的:Row、RowCollection Unchanged
22
Table是怎样炼成的:Row、RowCollection }
开始定义数据行了
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection /// 数据行
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection public class Row
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection private object[] datas;
Table是怎样炼成的:Row、RowCollection private System.Collections.ArrayList colNames;
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection /// 该数据行所依赖的表的名称
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection public readonly string TableName;
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection /// 该数据行的状态
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection public RowState RowState;
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection protected internal Row(ColumnCollection columns, string tableName)
Table是怎样炼成的:Row、RowCollection
Table是怎样炼成的:Row、RowCollection datas = new object[columns.Count];
Table是怎样炼成的:Row、RowCollection this.TableName = tableName;
23
Table是怎样炼成的:Row、RowCollection colNames = new System.Collections.ArrayList();
24
Table是怎样炼成的:Row、RowCollection foreach (Column col in columns)
25
Table是怎样炼成的:Row、RowCollection 26
Table是怎样炼成的:Row、RowCollection colNames.Add(col.ColumnName);
27
Table是怎样炼成的:Row、RowCollection 28
Table是怎样炼成的:Row、RowCollection 29
Table是怎样炼成的:Row、RowCollection 30
Table是怎样炼成的:Row、RowCollection 31
Table是怎样炼成的:Row、RowCollection 32
Table是怎样炼成的:Row、RowCollection 33
Table是怎样炼成的:Row、RowCollection /// 获取或设置行的指定列的数据
34
Table是怎样炼成的:Row、RowCollection 35
Table是怎样炼成的:Row、RowCollection /// <param name="index">列的索引号,从0开始</param>
36
Table是怎样炼成的:Row、RowCollection /// <returns>列中存储的数据</returns>
37
Table是怎样炼成的:Row、RowCollection public object this[int index]
38
Table是怎样炼成的:Row、RowCollection 39
Table是怎样炼成的:Row、RowCollection set
40
Table是怎样炼成的:Row、RowCollection 41
Table是怎样炼成的:Row、RowCollection datas[index] = value;
42
Table是怎样炼成的:Row、RowCollection this.RowState = RowState.Modified;
43
Table是怎样炼成的:Row、RowCollection 44
Table是怎样炼成的:Row、RowCollection get
45
Table是怎样炼成的:Row、RowCollection 46
Table是怎样炼成的:Row、RowCollection return datas[index];
47
Table是怎样炼成的:Row、RowCollection 48
Table是怎样炼成的:Row、RowCollection 49
Table是怎样炼成的:Row、RowCollection 50
Table是怎样炼成的:Row、RowCollection 51
Table是怎样炼成的:Row、RowCollection 52
Table是怎样炼成的:Row、RowCollection 53
Table是怎样炼成的:Row、RowCollection /// <param name="columnName">列的名称</param>
54
Table是怎样炼成的:Row、RowCollection 55
Table是怎样炼成的:Row、RowCollection public object this[string columnName]
56
Table是怎样炼成的:Row、RowCollection 57
Table是怎样炼成的:Row、RowCollection 58
Table是怎样炼成的:Row、RowCollection 59
Table是怎样炼成的:Row、RowCollection this[colNames.IndexOf(columnName)] = value;
60
Table是怎样炼成的:Row、RowCollection 61
Table是怎样炼成的:Row、RowCollection 62
Table是怎样炼成的:Row、RowCollection 63
Table是怎样炼成的:Row、RowCollection return this[colNames.IndexOf(columnName)];
64
Table是怎样炼成的:Row、RowCollection 65
Table是怎样炼成的:Row、RowCollection 66
Table是怎样炼成的:Row、RowCollection 67
Table是怎样炼成的:Row、RowCollection 68
Table是怎样炼成的:Row、RowCollection 69
Table是怎样炼成的:Row、RowCollection /// 获取或设置行的全部数据
70
Table是怎样炼成的:Row、RowCollection 71
Table是怎样炼成的:Row、RowCollection public object[] ItemArray
72
Table是怎样炼成的:Row、RowCollection 73
Table是怎样炼成的:Row、RowCollection 74
Table是怎样炼成的:Row、RowCollection 75
Table是怎样炼成的:Row、RowCollection return datas;
76
Table是怎样炼成的:Row、RowCollection 77
Table是怎样炼成的:Row、RowCollection 78
Table是怎样炼成的:Row、RowCollection 79
Table是怎样炼成的:Row、RowCollection if (value.Length == datas.Length)
80
Table是怎样炼成的:Row、RowCollection 81
Table是怎样炼成的:Row、RowCollection datas = value;
82
Table是怎样炼成的:Row、RowCollection 83
Table是怎样炼成的:Row、RowCollection 84
Table是怎样炼成的:Row、RowCollection 85
Table是怎样炼成的:Row、RowCollection 86
Table是怎样炼成的:Row、RowCollection 87
Table是怎样炼成的:Row、RowCollection 88
Table是怎样炼成的:Row、RowCollection /// 将该行数据状态改为RowState.Unchanged
89
Table是怎样炼成的:Row、RowCollection 90
Table是怎样炼成的:Row、RowCollection public void AcceptChanges()
91
Table是怎样炼成的:Row、RowCollection 92
Table是怎样炼成的:Row、RowCollection this.RowState = RowState.Unchanged;
93
Table是怎样炼成的:Row、RowCollection 94
Table是怎样炼成的:Row、RowCollection 95
Table是怎样炼成的:Row、RowCollection 96
Table是怎样炼成的:Row、RowCollection /// 为该行作删除标记
97
Table是怎样炼成的:Row、RowCollection 98
Table是怎样炼成的:Row、RowCollection public void Delete()
99
Table是怎样炼成的:Row、RowCollection 100
Table是怎样炼成的:Row、RowCollection this.RowState = RowState.Deleted;
101
Table是怎样炼成的:Row、RowCollection 102
Table是怎样炼成的:Row、RowCollection 103
Table是怎样炼成的:Row、RowCollection 104
Table是怎样炼成的:Row、RowCollection /// 将该行的状态设置为RowState.Added
105
Table是怎样炼成的:Row、RowCollection 106
Table是怎样炼成的:Row、RowCollection public void SetAdded()
107
Table是怎样炼成的:Row、RowCollection 108
Table是怎样炼成的:Row、RowCollection if (this.RowState == RowState.Unchanged)
109
Table是怎样炼成的:Row、RowCollection 110
Table是怎样炼成的:Row、RowCollection this.RowState = RowState.Added;
111
Table是怎样炼成的:Row、RowCollection 112
Table是怎样炼成的:Row、RowCollection 113
Table是怎样炼成的:Row、RowCollection 114
Table是怎样炼成的:Row、RowCollection 115
Table是怎样炼成的:Row、RowCollection /// 将该行数据状态设置为RowState.Modified
116
Table是怎样炼成的:Row、RowCollection 117
Table是怎样炼成的:Row、RowCollection public void SetModified()
118
Table是怎样炼成的:Row、RowCollection 119
Table是怎样炼成的:Row、RowCollection if (this.RowState == RowState.Unchanged || this.RowState == RowState.Added)
120
Table是怎样炼成的:Row、RowCollection 121
Table是怎样炼成的:Row、RowCollection 122
Table是怎样炼成的:Row、RowCollection 123
Table是怎样炼成的:Row、RowCollection 124
Table是怎样炼成的:Row、RowCollection 本文转自shyleoking 51CTO博客,原文链接:http://blog.51cto.com/shyleoking/806273