社区
VFP
帖子详情
请教关于GIRD中的问题。
zbzk2008
2009-12-05 10:10:46
1、显示GIRD,要求此表只读,很简单,将readonly属性设为.T.即可。
2、后发现需要将某列可以修改,也很简单,将此列的readonly属性设为.F.即可。
上面二个实现了某表仅某列可以修改,其他不能改的设置。
现在问题是,上面的设置是对这一列所有的,都能修改,能否设置某行的这一列可改,某行的这一列不可改呢?
比如设置一个逻辑字段,当此行的值为.T.时,此行的这列可以修改。为.F.时,不可以修改。
能实现吗???????
...全文
127
12
打赏
收藏
请教关于GIRD中的问题。
1、显示GIRD,要求此表只读,很简单,将readonly属性设为.T.即可。 2、后发现需要将某列可以修改,也很简单,将此列的readonly属性设为.F.即可。 上面二个实现了某表仅某列可以修改,其他不能改的设置。 现在问题是,上面的设置是对这一列所有的,都能修改,能否设置某行的这一列可改,某行的这一列不可改呢? 比如设置一个逻辑字段,当此行的值为.T.时,此行的这列可以修改。为.F.时,不可以修改。 能实现吗???????
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zbzk2008
2009-12-08
打赏
举报
回复
[Quote=引用 11 楼 xie_jiacai 的回复:]
比如你的gird的数据源为 表一
其中 有 个 字段 字段1
你想把该gird 中 column1 设置为 当字段1满足某一条件时 为只读的话
那按ctrl+shift双击column1列 进入column1事件
然后选择object 也就是对象 当前显示是column1 点击看 看到他下面还有header1 ,text1
选择text1 然后 在他右边procedure 选when事件,
在该事件中写
return 逻辑表达式
例子一:当你想字段1中的值不为空为只读,前提字段1为字符型
可以写成 returnempty(alltrim(字段1))
例子二:当你想字段1中的值大于10为只读时,前提字段1为数值型
可以写成 return!(字段1>10)例子三:当你想字段1中的值为.T.时为只读,前提字段1为逻辑型
可以写成 return!字段1
现在明白了么... 有啥不懂再留。。。。。 我一会再看看
[/Quote]
看的非常明白。非常感谢。说的太详细了。
一会,我试验一下,关键我对WHEN事件,还不太熟悉,没大用过。呵呵。
zbzk2008
2009-12-07
打赏
举报
回复
[Quote=引用 9 楼 xie_jiacai 的回复:]
完成可以..
可不考虑readonly的值,仍旧为.F.
你你指定的column中绑定源控件 一般为 text1的when 事件写入
RETURN 逻辑字段的值
既当逻辑字段为.T.时
既可进入修改 为.F.时压根 就return .f.,啥也修改不了
前提是你所设置的逻辑字段 会根据你行的改变而改变,比如为该表的数据源某列
[/Quote]
能说的细点吗???when里面怎么写啊??
xie_jiacai
2009-12-07
打赏
举报
回复
比如你的gird的数据源为
表一
其中 有 个 字段
字段1
你想把该gird 中
column1
设置为 当
字段1
满足某一条件时 为只读的话
那按
ctrl+shift
双击
column1列
进入
column1事件
然后选择
object
也就是对象 当前显示是
column1
点击看 看到他下面还有header1 ,text1
选择
text1
然后 在他右边
procedure 选when事件
,
在该事件中写
return 逻辑表达式
例子一:当你想字段1中的值不为空为只读,前提字段1为字符型
可以写成 return
empty(alltrim(字段1))
例子二:当你想字段1中的值大于10为只读时,前提字段1为数值型
可以写成 return
!(字段1>10)
例子三:当你想字段1中的值为.T.时为只读,前提字段1为逻辑型
可以写成 return
!字段1
现在明白了么... 有啥不懂再留。。。。。 我一会再看看
xie_jiacai
2009-12-06
打赏
举报
回复
完成可以..
可不考虑readonly的值,仍旧为.F.
你你指定的column中绑定源控件 一般为 text1的when 事件写入
RETURN 逻辑字段的值
既当逻辑字段为.T.时
既可进入修改 为.F.时压根 就return .f.,啥也修改不了
前提是你所设置的逻辑字段 会根据你行的改变而改变,比如为该表的数据源某列
moon1219
2009-12-06
打赏
举报
回复
学习
十豆三
2009-12-05
打赏
举报
回复
*如何控制Grid只能移动列,不能移动行。
*------------------------------------
VFP7
.
0
以上:
1
、设一个全局变量,初始值为
.T.
Public
glRowMove
glRowMove
=
.T.
2
、在
Grid
的
BeforeRowColChange
事件:
Lparameters
nColIndex
&&系统代码
If
(
This
.
RowColChange
=
1
Or
This
.
RowColChange
=
3
)
And
glRowMove
=
.F.
Nodefault
Endif
3
、不允许行移动:
glRowMove
=
.F.
允许行移动:
glRowMove
=
.T.
****************************************
因为
VFP7
.
0
以下
Grid
没有
RowColChange
属性,所以只能用以下方法:
此种方法其实记录已经移到其他行了,后来又移回来了,所以会来回闪动。
1
、表单的
Load
事件:
Public
gnRecno
gnRecno
=
1
2
、表单的Unload事件:
Release
gnRecno
3
、在
Grid
的
AfterRowColChange
事件:
Lparameters
nColIndex
&&系统代码
Go
gnRecno
&&动态改态变量gnRecno的值即可
十豆三
2009-12-05
打赏
举报
回复
可以设置Grid只能移动列,不能移动行来达到要求。
shueshue
2009-12-05
打赏
举报
回复
关注一下。学习
pajiqu
2009-12-05
打赏
举报
回复
是不是在gird的"init"中写代码呢?设置属性里面好像没有这样的选项。
dywfada
2009-12-05
打赏
举报
回复
关注中!顶
ganzi01234
2009-12-05
打赏
举报
回复
改变grid的只读属性,有两种方式,一种是属性面板里控制,一种是代码控制,你可以写个判断语句,判断你要的那个逻辑字段属性,然后根据逻辑字段属性,修改grid表格中的text 的readonly属性,可以实现!
zbzk2008
2009-12-05
打赏
举报
回复
抱歉,十豆三的回答,我看不懂。移动行,移动列是啥意思???
我的问题是表中的某列,可以先轻松的设置为修改(即不只读),有没有控制行的??比如某一行可以改,某一行不可以改。
jQuery的简单
Gird
目前表格的TD
中
包含的span,想顺便诚心
请教
如何实现兼容各种PC浏览器的益处省略符。 下面请看浏览器叠叠乐: [img]http://dl.iteye.com/upload/attachment/185259/75ca5c86-d715-3cb8-a6dd...
请教
大家有关delphi里面的输入法的控制
问题
刚开始用delphi开发,
请教
大家
问题
,希望得到大家的支持 输入法切换
问题
:如何在系统
中
保持被切换的输入法始终保持统一!我的系统里面无法保持输入法始终一致的原因是GRID控件引起的,当切换输入法后焦点进入GRID再...
测底解决Unity TileMap缝隙
问题
解决Unity TileMap缝隙
问题
EXT
中
的Grid实例
为Grid配置了Ext.grid.CheckboxSelectionModel()属性,但达不到想的效果,去查看了源码,也没看出个所以然,
请教
各位前辈,用什么方法可以实现以下两种效果: 1.点击记录只改变背景色,不改变选择状态。要想...
imagepreview使用案例_vue+vant使用图片预览功能ImagePreview的
问题
解决
那员外估计您遇到跟我一样的
问题
了,即在打开图片预览功能后,如果不关闭预览的图片,同时改变路由的话,会发现即使路由改变了,预览的图片还在文档的最顶层显示,如图:着实让员外百思不其解,在调用vant 的 Image...
VFP
2,749
社区成员
29,140
社区内容
发帖
与我相关
我的任务
VFP
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
复制链接
扫一扫
分享
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章