来实习之前拿了本课本自学了一下。net,一直学的都是比较新的版本,来了实习的地方后发现由于继承的关系,我们用的都是前辈们写好的代码然后再进行加工修改得到我们需要的功能,所以自从新版本发布那么久以来,我们用的都还是Datagrid. 由于基本上我们都可以拿老版本的代码过来直接改,方便,快捷,还少出错误,所以很少想去更新它。
呆久了发现其实核心的东西并没有学到什么,好多东西都不会,不知道人家内部怎么连接的数据库,怎么对数据如何读取出来进行操作,就像一个孩子吃的都是盛好的饭而从来没有自己动手去煮过饭甚至自己盛饭。作为一个coder,其实很对不起自己的时间,大脑里面没货是对自己的一种失职。这几天猛然醒悟,想着把前辈们的代码在我内部修改一下。
Gridview是Datagrid的升级版,我以前以为Gridview应该是对Datagrid全面兼容,用过后才发现并不如此。在Datagrid中有一个Datakeyfield,取而代之的是Gridview的datakeys和datakeynames,前者为只读的,因此,只能对datakeynames赋值。datakeynames是一个数组,可以对其赋一个或多个值,但是他不能像Datakeyfield在后台直接赋值,如datagrid1.datakeyfield="id";而只能在Gridview定义的时候对其赋datakeynames="id1,id2...",此其一个让我修改了有点久的地方。
第二个就是datagrid中有一个currentPageIndex表示当前的页检索,而GridView中却没有,用PageIndex代替倒是没有报错,也能取到预期的效果。
还有就是对Datasource这个属性,如果在后台赋给了它值,而在前台又不小心给Gridview定义了一个数据源,那样就会报错,此时,只要你把前面或后面的其中一个删掉就ok了,前提是你的数据源配置的正确。
发现不论是Datagrid还是Gridview中,都有很多需要学习的东西,就单这一个控件,那么多的属性,就够让人折腾一阵了,我是小菜,所以要加油学习,此文权当记录一下好了。