在vfp中,控件的每个属性都有access和assign方法,即在属性的读取和赋值过程中嵌入代码。如属性backstyle建立access方法(方法名为backstyle_access),此方法会在读取backstyle属性时(如?backstyle时)执行。
grid控件的列column默认包含textbox控件,可以替换为其他控件(如lable,image或自定义class)。然而在列数据绑定时,官方的绑定方法只有controlsource,它只能将字段内容赋值于textbox的value属性中,如果列包含的不是textbox控件,如label, image,这些列内容也无法和字段绑定起来。
直到有一天,有人发现了backstyle_access的妙用,既只要在列所包含的控件中建立backstyle_access方法,grid中的单元显示包括动态显示(如记录上下移动,resize事件等),都会执行backstyle_access方法。所以只要在backstyle_access方法加入控件的赋值语句,即可轻松完成列内容和字段的绑定,此方法也可轻松模拟各种列动态dynamicXXX属性。
其他属性的access方法(如backcolor_access等)都不具备此功能,惟独backstyle_access有此特异功能,所以真的要感谢发现之人。
有了这个方法,grid就不再是个古板的表格,剩下的就靠你的想象力吧。
如图:
阅读(3170) | 评论(0) | 转发(0) |