今天在做维护学生基本信息模块时,我想直接在msflexGrid控件中显示,并修改想改变的基本信息。msflexGrid控件不能直接编辑,所以我们首先要实现能在msflexGrid控件中直接编辑的功能。实现此功能,我使用text控件来辅助我完成。
首先当msflexGrid控件发生keypress事件时,我得使text处于显示编辑状态,并能将此控件覆盖在选中的单元格上(所以,在这里我们还要设置一下text的位置及大小,涉及到msflexGrid控件的CellWidth,RowHeight,left,top,CellLeft,CellTop等属性)。
然后,当msflexGrid控件发生leaveCell事件时,我们就要将所输入的内容付给要修改的单元格了。
最后我们将所修改的内容写入数据库就好了。
但我们在操作时,会发现我们点击一个单元格而不去更改,就去选取其他单元格时,会出现刚才的单元格内容为空,或发生其他改变(根据代码不同显示结果不同,我做时由于发生leaveCell事件时,会将刚才的单元格内容等于text的值,所以出现内容为空)。并且,我们的第一行应该是字段名字而不是字段值,所以应该将第一行固定才好。
想解决这些问题就要弄懂msflexGrid控件的一下属性或方法,而且要将他们联系起来思考。