表格内做进度条

zou_he 2018-05-08 10:37:32
现在需要在表格内某列做一进度条,将表格列TEXT删除后,加入进度条控件,象原来加CHECKBOX控件一样,将列FORMAT属性设为.T.,SPARSE属性设为.F.,只有在活动的当前记录行显示出进度条,不会象加CHECKBOX一样,全部显示该控件。
并且该进度条控件VALUE能不能象CHECKBOX一样,反应出当前记录的值?请版主有空指教一下,谢谢。

THISFORM.GRID1.RecordSource=NULL
=SQLEXEC(main_nhandle,"select * from t_temp","temp2_cx")
SELECT temp2_cx
thisform.grid1.RecordSource="temp2_cx"
thisform.grid1.column1.ControlSource="temp2_cx.fwcjd"
thisform.grid1.column2.ControlSource="temp2_cx.fwcjd"

得到的结果如下图:



CHECKBOX的效果就是OK的。

每列都显示控件,并且准确反应出当列值,0或1
...全文
1738 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jyxfp 2018-05-12
  • 打赏
  • 举报
回复 1
此程序是我收藏的,非我原创,原作者的无私奉献,在此表示敬意!
zou_he 2018-05-11
  • 打赏
  • 举报
回复
先这样用着了,谢谢4#楼。
trainee 2018-05-11
  • 打赏
  • 举报
回复
4楼文章貌似我的原创
zou_he 2018-05-10
  • 打赏
  • 举报
回复
#4你好,感谢回复。 下了你的文件,试运行了,应该就是这个效果,但有几个问题。 1、MS的ProgressBar 能不能实现,一定要用你的test1.vcx才能实现吗,为何MS的ProgressBar 在列属性SPARSE为.F.时,仍然只在活动的单元格显示进度条控件,而不是全部记录都显示? 2、请问你的这个cbar如何放到表格列?拖曳的方法会提示错误,“不能在表格控件中添加此结象” 3、你所说的backstyle_access方法程序,这个应该不是控件所自带方法程序的,请问,你是如何在标准控件中添加自定义方法程序? 请指教,谢谢。
mywisdom88 2018-05-10
  • 打赏
  • 举报
回复
找不到楼上说的 ,能把上图的列子放上去下载不.
jyxfp 2018-05-10
  • 打赏
  • 举报
回复
在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就不再是个古板的表格,剩下的就靠你的想象力吧。

如图:

都市夜猫 2018-05-10
  • 打赏
  • 举报
回复
引用 4 楼 jyxfp 的回复:
其他属性的access方法(如backcolor_access等)都不具备此功能,惟独backstyle_access有此特异功能。
其实未必如你所说,也有其他属性有此特性,像容器控件的 BorderWidth,SpecialEffect,Style 都跟 BackStyle 一样。 可能仅仅是因为多数控件都有 BackStyle 而选用了它的 access 方法而已。
zou_he 2018-05-09
  • 打赏
  • 举报
回复
进度条能显示值是因为在Grid的init加了thisform.grid1.column1.olecontrol1.vαlue=t_temp2.Fwcjd,否则根本不显示值。
zou_he 2018-05-09
  • 打赏
  • 举报
回复
进度条能显示值是因为在Grid的init加了this.vαlue=t_temp2.Fcwjd,否则根本不显示值。
zou_he 2018-05-08
  • 打赏
  • 举报
回复
每条记录进度条的进度都是一样的,并且不同时出现。。。
【课程内容】所涉及的具体内容包括输入录入技巧、排序、筛选、函数公式、数据透视表、图表、汇总等功能应用,并结合大量的企业应用实例,以互动的方式将解决思路和操作过程逐一呈现。【课程特点】1、190节大容量课程:包含了Excel软件的大部分知识点;2、创新的教学模式:手把手教您电子表格,一看就懂,一学就会;3、完美贴心的操作提示:让您的眼睛始终处于操作的焦点位置,不用再满屏找光标;4、语言简洁精练:瞄准问题的核心所在,减少对思维的干扰,并节省您宝贵的时间;5、视频短小精悍:即方便于您的学习和记忆,也方便日后对功能的检索;【互动教程的特点】•互动性-首创互动式学习,不同于以往的任何一种学习方式,不看视频不看书,轻松,高效,好玩-手把手教学,一步步引导操作,实时看到效果,就像自己在操作一样,信心满满-即点即学,课程内可根据自己的需要,随时调整界面上方进度条,重复操作,加强记忆-强大的学习跟踪系统,对整体学习进度一目了然,及时调整学习计划,查疑补漏•人性化-界面设计简洁,操作简单,没有繁琐的按钮,一点就可直接进入学习状态-贴心小提示,读懂你的小心思,零基础快速入门,学习无压力,不尴尬-超多原理解析,疑问解答,如同专业Excel导师亲身指导,不翻书快速记忆,Excel小白迅速成长•实用性-课程由浅入深,操作过程详细剖析,一步步模仿,马上就会。-涉及排序、筛选、函数公式、数据透视表、图表、汇总等核心功能的课程编排,通俗易懂不头疼-互动+观看视频,两种学习方式切换,上班路上,地铁里享受随时随地自由学习通过本课程的学习,您将逐步掌握Excel 2016的各项功能和使用技巧。从而提高您的办公效率,早完,不加班!!!

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧