以ASPxGridView的编辑操作为例,如SqlDataSource中的Update方法需要接收6个参数,其中有三个是ASPxGridView中的编辑字段,另外三个中有一个是主键,另两个是后台根据其他信息赋值,如操作人,操作时间等。这时SqlDataSource中的UpdateParameters参数定义要注意以下几点:

         1.字段顺序一定要和Update语句或存储过程接收参数顺序一致(这点没什么好说的)。

         2.在ASPxGridView中设置为KeyFieldName的字段(即主键),在UpdateParameters中应给个与列名不同的字段,因为在生成参数时,KeyFieldName总会被加在所有参数的最后面,如果UpdateParameters中定义的列名与KeyFieldName中相同,那么参数接收的顺序就会被打乱,而用不同的名称,在SqlDataSource_Updating时,可以手动将最后一个参数(即根据KeyFieldName自动生成的参数)的值赋给你的主键所在位置,然后移除这里的最后一个参数即可。

         3. 被编辑列的UpdateParameters参数名需要和ASPxGridView的绑定字段列名一致,因为这样ASPxGridView可以自动将被修改的值赋给UpdateParameters,而如果UpdateParameters参数名和ASPxGridView的绑定字段列名不一致,就需要手动给这几个编辑列赋值,很麻烦。注意,在这里如果UpdateParameters中没有编辑字段,是不会被自动加上的,这点与KeyFieldName字段有点不同。

cafe.wh 3,15 2010