DataSet 图解

DataSet层次结构中的类请参见表所示:



说明

DataTableCollection

包含特定数据集的所有DataTable对象

DataTable

表示数据集中的一个表

DataColumnCollection

表示DataTable对象的结构

DataRowCollection

表示DataTable对象中的实际数据行

DataColumn

表示DataTable对象中列的结构

DataRow

表示DataTable对象中的一个数据行

关于DataColumnCollection

DataColumnCollection      问题一:
一是DataColumnCollection是怎么被DataTable类实例化的?因为我无法用new直接实例化它,这种现象普遍存在于.NET中。
二是DataColumn中的Table字段是只读的(定义中只有get,无set)那么,当我new了一个DataColumn时,这个
DataColumn的Table字段是NULL,为什么当由DataTable.Columns.Add()添加后,DataColumn.Table
字段被赋值了,怎么做到的?

DataColumnCollection        回答一:

1.扩展方法,当你用扩展方法去获取DataTable中的列集合,就会返回一个DataColumnCollection类型
2.DataColumn中的Table字段,表示它的父控件,也就是它是属于哪一个DataTable
搜一搜:属性
属性其实是个函数(get,set),它并不是一个变量,所以也不存在什么时候赋值.你什么时候去取值,就会调用函数去对应的地方取,取不到就是null呗

DataColumnCollection         回答一:

datatable初始化时创建的
this.columnCollection = new DataColumnCollection(this);
DataColumnCollection初始化时,table就被传入了

C# code?


1

2

3

4

5

6

7

8

9

10

internal DataColumnCollection(DataTable table)

{

    this._list = new ArrayList();

    this.defaultNameIndex = 1;

    this.columnsImplementingIChangeTracking = DataTable.zeroColumns;

    this.table = table;

    this.columnFromName = new Hashtable();

}

 

时间: 2024-12-30 04:52:10

DataSet 图解的相关文章

论文翻译 DOTA:A Large-scale Dataset for Object Detection in Aerial Images

  简介:武大遥感国重实验室-夏桂松和华科电信学院-白翔等合作做的一个航拍图像数据集 摘要: 目标检测是计算机视觉领域一个重要且有挑战性的问题.虽然过去的十几年中目标检测在自然场景已经有了较重要的成就,但在遥感图像上却进展缓慢,原因不仅仅体现在图像规模的庞大及多样性.物体定位问题和地球表面物体实例的形状检测上,还因为遥感场景中具有良好注释的数据集过于匮乏.为了推进在Earth Vision,又称Earth Observation and Remote Sensing上的目标检测的研究,我们引进在

《C#图解教程》读书笔记之三:方法

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.方法那些事儿 (1)方法的结构:方法头-指定方法的特征,方法体-可执行代码的语句序列: (2)方法的调用:参数.值参数.引用参数.输出参数.参数数组: ①参数: 形参-本地变量,声明在参数列表中:形参的值在代码开始之前被初始化: 实参-实参的值用于初始化形参: ②值参数: 为形参在栈上分配内存,将实参的值复制到形参: ③引用参数: 不为形参在栈上分配内存,形参的参数名作为实参变量的别名指向同一位置,必须使用ref关

《C#图解教程》读书笔记之五:委托和事件

本篇已收录至<C#图解教程>读书笔记目录贴,点击访问该目录可获取更多内容. 一.委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象:委托和典型的对象不同,执行委托实际上是执行它所"持有"的方法.如果从C++的角度来理解委托,可以将其理解为一个类型安全的.面向对象的函数指针. (2)如何使用委托? ①声明委托类型(delegate关键字) ②使用该委托类型声明一个委托变量 ③为委托类型增加方法 ④调用委托执行方法 (3)委托的恒定性: 组合委托.为委托+=增加

ESXI6.5 最新版尝鲜安装图解

ESXI6.5安装图解

tablib.Dataset()操作exl类型数据之“类方法”研究

#tablib.Dataset()操作exl类型数据之“类方法”研究 import tablib #初始化 data=tablib.Dataset() #设置列标题 data.headers=('name','where') some_collector=[('xiaodeng','enshi'),('xiaoming','hubei'),('xiaodong','enshi')] #写入数据 for key,value in some_collector: data.append((key,v

DataSet中compute的使用

在为筛选器创建表达式时,用单引号将字符串括起来: "LastName = 'Jones'" 下面的字符是特殊字符,如下面所解释的,如果它们用于列名称中,就必须进行转义: \n (newline) \t (tab) \r (carriage return) ~ ( ) # \ / = > < + - * % & | ^ ' " [ ] 如果列名称包含上面的字符之一,该名称必须用中括号括起来.例如,若要在表达式中使用名为“Column#”的列,应写成“[Col

基于四元数的姿态解算算法图解

下面的两个地址是我存放在百度云网盘的附件,分别是基于四元数的互补滤波法的图解和梯度下降法的图解.笔者采用MindManager思维导图软件对上述两种算法进行详细的解释,非常形象. 希望这种方式能够让大家快速.准确的理解这两种算法的流程. 互补滤波法: http://pan.baidu.com/s/1c0b8qJ2 梯度下降法: http://pan.baidu.com/s/1sjI1l5F

【图解】javaScript组成结构

[图解]javaScript组成结构,布布扣,bubuko.com

【超实用】图解--如何使用本地的dtd文件映射

以前一直很苦恼,如果电脑上不了网,就比较麻烦了,自己在配置HIbernate的属性的时候,不知道属性名有没有写错.. 现在和大家分享一下,毕竟自己痛苦过了,大家不要和我一样痛苦. [超实用]图解--如何使用本地的dtd文件映射,布布扣,bubuko.com