有了数据结构单元DataCell之后,数据单元行也就很容易写了,因为,所有的数据单元加起来,就成了数据行了
于是,我们很轻易的写出了以下类:
/// <summary>
/// 一行数据
/// </summary>
public class MDataRow : List<MDataCell>
{
public MDataRow()
: base()
{
}
public MDataRow(int capacity)
: base(capacity)
{
}
}
看,没几行代码
现在,我们为行加几个常用的属性,比如访问行所属的表名,还有从行访问出其列的结构,顺便加上一个数据库链接字符串
如下:
#region 常用访问属性
private string _TableName;
/// <summary>
/// 数据库表名
/// </summary>
public string TableName
{
get
{
return _TableName;
}
set
{
_TableName = value;
}
}
private string _ConnectionString;
/// <summary>
/// 所属的表的数据库链接字符串
/// </summary>
public string ConnectionString
{
get
{
return _ConnectionString;
}
set
{
_ConnectionString = value;
}
}
private MDataColumn _Columns = null;
/// <summary>
/// 数据列集合
/// </summary>
public MDataColumn Columns
{
get
{
if (_Columns == null)
{
_Columns = new MDataColumn(base.Count);
for (int i = 0; i < base.Count; i++)
{
_Columns.Add(base[i].DataStruct);
}
}
return _Columns;
}
}
#endregion
OK,此至属性也加完了,顺便加个克隆方法
#region 克隆
public MDataRow Clone()
{
MDataRow dataRow = new MDataRow(base.Count);
for (int i = 0; i < base.Count; i++)
{
MDataCellStruct mcb = base[i].DataStruct;
MDataCell mdc = new MDataCell(ref mcb);
mdc.Value = base[i].Value;
dataRow.Add(mdc);
}
dataRow.ConnectionString = this.ConnectionString;
dataRow.TableName = this.TableName;
return dataRow;
}
#endregion
至此,数据行也构建完成了