DataTable,DataView和DataGrid中一些讲解.pdf

DataTable,DataView和DataGrid中一些讲解.pdf

ID:52470380

大小:219.83 KB

页数:13页

时间:2020-03-27

DataTable,DataView和DataGrid中一些讲解.pdf_第1页
DataTable,DataView和DataGrid中一些讲解.pdf_第2页
DataTable,DataView和DataGrid中一些讲解.pdf_第3页
DataTable,DataView和DataGrid中一些讲解.pdf_第4页
DataTable,DataView和DataGrid中一些讲解.pdf_第5页
资源描述:

《DataTable,DataView和DataGrid中一些讲解.pdf》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、DataTable,DataView和DataGrid中一些容易混淆的概念一、DataTableDataTable表示内存中数据的一个表,它完全是在内存中的一个独立存在,包含了这张表的全部信息。DataTable可以是从通过连接从数据库中读取出来形成的一个表,一旦将内容读到DataTable中,此DataTable就可以跟数据源断开而独立存在;也可以是完全由程序自己通过代码来建立的一个表。◆DataColumn一个表是由行和列组成的一个两维的结构。表的结构是由DataColumn对象的集合组成,DataColumn对象集合可由DataTable.Columns属性

2、中能获取到,通过定义每一列的数据类型来确定表的架构,类似数据库中定义表。定义完表的结构就可以根据结构来生成DataRow,用DataTable.NewRow()方法来生成此DataTable结构的新行。一个DataTable是由DataRow的集合组成的,DataRow的集合这个可以由DataTable.Rows属性来访问。DataTable还可以通过现有的列用Expression属性的表达式创建一些列。1、创建计算出的列比如:已经有了一个表结构,表中有一个DataColumn的集合,其中有一个叫UnitPrice的列,你可以新建一个DataColumn,设置好C

3、olumnName,再设置此列的表达式,DataColumn.Expression="UnitPrice0.086",这个列的值就是名字为UnitPrice的列计算出来的,在创建表达式时,使用ColumnName属性来引用列。2、第二个用途是创建聚合列聚合列聚合通常沿着关系执行(有关关系的描述见下面DataRelation部分),如果order表有名为detail的子表,两个表之间通过order.orderid和detail.orderid两个列建立一个关系DataRelation对象名为“order2detail”,在主表order中就可以建立一个聚合列,将计算

4、每个order在detail表中含有的所有item的价格的和:DataColumn.Expression=“sum(child(order2detail).price)",child(order2detail)表示通过关系order2detail联系到的子表,child(order2detail).price就表示子表的price列。◆DataRowDataRow对象没有直接在代码中使用的构造函数,一般是从具有一定结构的DataTable用NewRow()方法来新建一个DataRow对象。一个DataRow根据其是独立的,还是属于某个DataTable,是否修改过

5、,是否被DataTable删除等等不同的情况有不同的状态,由DataRow.RowState属性公开,如下表:成员名称说明1Added该行已添加到DataRowCollection中,AcceptChanges尚未调用。Deleted该行已通过DataRow的Delete方法被删除。Deleted该行已通过DataRow的Delete方法被删除。该行已被创建,但不属于任何DataRowCollection。DataRow在以下情况下立即处于此状态:创建之后添加到集合中之前;或从Detached集合中移除之后。Modified该行已被修改,AcceptChanges

6、尚未调用。Unchanged该行自上次调用AcceptChanges以来尚未更改。一个DataRow对象刚被创建之后其状态是Detached,是孤立的一个存在,所以建立了DataRow之后在DataRow中的单元填充了数据后还要通过DataTable.Rows.Add(DataRow)方法将此DataRow添加到DataTable,DataRow添加到DataTable后,这个DataRow的状态就转变为Added。当修改了这个DataRow后,这个DataRow状态转为Modified,当用DataRow.Delete()方法删除DataRow后,DataRow

7、状态将转为Deleted,不过此行还存在在DataTable中的,只是状态改变了,这时用DataTable.Rows.Count查看行数,跟删除前是一样的。只有在调用了DataTable.Remove(DataRow)方法后,此DataRow才被从DataTable移除,状态也回复到Detached孤立状态。一旦调用了DataTable.AcceptChanges()方法后,所有的行将根据不同的状态做不同的处理,Added、Modified、Unchanged将保留当前值,Deleted的行将从DataTable中移除,最后所有的行的状态都置为Unchanged。

8、当Data

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。