DataTable,你有多丰富:
轻轻的打开Reflector.exe,按下F3搜索,输入DataTable,双击定位,右键,Disassemble之后,
悄悄的点一下最下面的 Expand Methods,再从容的把它copy出来,我们才发现。。6000多行的代码
我们常用的DataTable一个类,才用了6000多行代码实现,跟我们以前写的,一个类写到一千多,就觉得有点过了
大巫见小巫啊!
悄悄的点一下最下面的 Expand Methods,再从容的把它copy出来,我们才发现。。6000多行的代码
我们常用的DataTable一个类,才用了6000多行代码实现,跟我们以前写的,一个类写到一千多,就觉得有点过了
大巫见小巫啊!
解析:
当然了,不是说一个类代码越多,性能就一定不好。至少我们还是那么多人前拥后挤的在继续使用。
大而广,考虑详细,是因为面对的人群多。
针对目前这个数据访问层中,我们所需要的功能,并不需要那么多,我们只需要最常用的功能即可了,
即可以把表直接绑定控件,并访问数据行,数据列,数据单元和数据的数据库类型,
大而广,考虑详细,是因为面对的人群多。
针对目前这个数据访问层中,我们所需要的功能,并不需要那么多,我们只需要最常用的功能即可了,
即可以把表直接绑定控件,并访问数据行,数据列,数据单元和数据的数据库类型,
所以:
我们开始了自定义,在自定义中,我们并不继承和DataTable相关的东西。我们一步一步的构建属于自己的轻量级的Table类
下面开始构造自己的MDataTable系列类:
一.单元格:MDataCell
我们先来看我们常用的表现的一行数据,如下图:
描述:
图片上一览,第一行是列头,接下来全是数据行,那么单元格应该包含哪些内容?这,其实是个问题。如果我们从界面上看,一个单独的单元格,就只有Value了,
可是如果只是Value,那它又缺少了意义,因为你不知道它是属于什么列,简单说,如果没有列头,你的数据本身的意义,就变的很难理解,
除非这个值有很深的解释意义包含在里头。
可是如果只是Value,那它又缺少了意义,因为你不知道它是属于什么列,简单说,如果没有列头,你的数据本身的意义,就变的很难理解,
除非这个值有很深的解释意义包含在里头。
说明:
因此,一个单元格还应该包括一个列头解释,于是。就会出现这么一个现实,如果一个单元格是由头和值组成的,那么每一行数据,都会包括重复的列头。
我们再仔细观察那图,实际上,只有一个列头,其余都是值...于是,在这里,就产生了一个可以思考的问题。
单元格需要由头和值组成,可是,又要保证数据再多,也只能存在一个表头,怎么将这个问题转化在设计的类中??
我们再仔细观察那图,实际上,只有一个列头,其余都是值...于是,在这里,就产生了一个可以思考的问题。
单元格需要由头和值组成,可是,又要保证数据再多,也只能存在一个表头,怎么将这个问题转化在设计的类中??