关于窗体和Grid问题

lawrendc 2011-06-09 09:40:37
Hi,各位大哥帮忙,刚接触Foxpro,不熟悉,我在工程里已经建好的Form,我想在另外一个Form调出,如何写代码,另外,Grid里可以让我单击当前选中的行的时候,该行的颜色改变,再次单击颜色复原。VF6.0里没有allowCellSelection,有其他类似的属性吗?
...全文
77 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
十豆三 2011-06-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 lawrendc 的回复:]
当我单击了某一行 ,在去单击另一行 ,两行的颜色都变成我需要的颜色 ,不会变回去的 。其实我想实现的就是一个选中和取消选中功能
[/Quote]
这回明白你的需要了,请参考:

如何多选中记录?
--------------------------
一个表单上有GRID1,想一次同时选中多条记录如何编码。
1、如何表示这条记录被选中?
2、连续选中多条记录?
---------------------------------------------------------------

请参考:
一、如果GRID1表中记录不是太多(事实上,根据C-S模式,GRID1中一般不会有多少数据)
1、可以先创建一个临时表,这个临时表比原表多一个逻辑型字段FLDlSelected。
2、在GRID中增加类型为CHECKBOX的列COLUMN1,它的数据源就是字段FLDlSelected。
3、COLUMN1的属性SPARSE=.F.,COLUMN1下的CHECKBOX1的属性BACKSTYLE=0(透明)。
4、根据FLDlSelected的值可以判断用户选择了哪些数据。

二、在外部建立临时表,记录GRID1中所选择的记录号RECN(),根据临时表来判断用户所选择的数据。
当然在GRID1中必须在BeforeRowColChange、AfterRowColChange中写代码来突出效果。

---------------------------------------------------------------

要达到这种目的也不复杂,为表增加一个字段:SEL,逻辑型,在表格初始化时:
Replace All sel With .F.

设置表格所有的列中的文本框的CLICK事件为:

Replace sel With !sel

设置表格所有的列的dynamicbackcolor属性为:

Iif(sel,高亮颜色对,正常颜色对)

设两个按钮,

全选: Replace All sel With .T.
全消: Replace All sel With .F.

以上操作没有考虑工作区,要保证所要操作的表在当前工作区

要想获得所选的记录:
Select 源表
Copy To 目标表 For sel

---------------------------------------------------------------
还有一种方法,不过不太建议使用,用DELE命令,易造成数据意外损坏

设置表格的DELETEMARK为.T.

表格初始化:

Recall All
Set Deleted Off

设置表格所有的列的dynamicbackcolor属性为:

Iif(Deleted(),高亮颜色对,正常颜色对)

设两个按钮,

全选: Delete All
全消: Recall All

以上操作没有考虑工作区,要保证所要操作的表在当前工作区

要想获得所选的记录:
Select 源表
Copy To 目标表 For Deleted()

清理代码:
Recall All

为保证数据安全,在主程序启动时:
Use 源表
Recall All
Use
lawrendc 2011-06-09
  • 打赏
  • 举报
回复
当我单击了某一行 ,在去单击另一行 ,两行的颜色都变成我需要的颜色 ,不会变回去的 。其实我想实现的就是一个选中和取消选中功能
十豆三 2011-06-09
  • 打赏
  • 举报
回复
Grid里可以让我单击当前选中的行的时候,该行的颜色改变,再次单击颜色复原。

你单击选中的行,说明之前先选中?

还是单击某行,某行颜色改变?你说的是这种吧,就像Excel单击某行某行重点显示一样?

还是单击某行,某行颜色改变,再次单击这行,这行颜色消失,那单击某行,某行颜色改变,这时没有再次单击此行,而是单击另一行,那原来单击的行颜色如何变化?新单击的行颜色如何变化。
lawrendc 2011-06-09
  • 打赏
  • 举报
回复
谢谢 那还有一个问题的 老大

Grid里可以让我单击当前选中的行的时候,该行的颜色改变,再次单击颜色复原
十豆三 2011-06-09
  • 打赏
  • 举报
回复
allowCellSelection属性 VFP6 没有。还是建议用 VFP9 吧。

在另一个FORM调用另一个FORM时,直接: Do Form 表单文件名.Scx

lawrendc 2011-06-09
  • 打赏
  • 举报
回复
好的,谢谢,我先试试

2,722

社区成员

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

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