以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何设置单元格不能编辑  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=150539)

--  作者:libo8284
--  发布时间:2020/6/1 16:54:00
--  [求助]如何设置单元格不能编辑


老师好,我正在开发“人员工时填报”的模块,我的思路如下:

1)“工作安排表”,这里包含:人员、工作任务、起止日期、预算的工时,如下面截图,这里还包含“周一工时”到“周日工时”,7列,用于工时填报

图片点击可在新窗口打开查看此主题相关图片如下:单元格锁定0.png
图片点击可在新窗口打开查看

2)“工时清单表”,这里的“任务编号”对应的是“工作安排表”里的“_Identify”,还有日期、工时,如下面截图,其中的“_Locked”字段用于判断数据是否可以编辑

图片点击可在新窗口打开查看此主题相关图片如下:单元格锁定3.png
图片点击可在新窗口打开查看
3)建立了“工时填报”窗口,Table控件绑定到“工作安排表”,作为副本

4)建立日期选择框,根据选择的日期,确定一周的起止日期,并将前述“工作安排表”里的“周一工时”到“周日工时”列的标题设置为具体日期

5)遍历“工作安排表”,然后搜索“工时清单表”,按“任务编号”、“日期”匹配,并且将搜索到的工时,填入到“工作安排表”里,对应行、对应日期的单元格里,如下图所示:

图片点击可在新窗口打开查看此主题相关图片如下:单元格锁定1.png
图片点击可在新窗口打开查看


图片点击可在新窗口打开查看此主题相关图片如下:单元格锁定4.png
图片点击可在新窗口打开查看

6)根据“工时填报表”里的“_Locked”字段的数值,然后设置上述对应的单元格是否可以编辑,我的代码如下图所示,这个不起作用:


图片点击可在新窗口打开查看此主题相关图片如下:单元格锁定2.png
图片点击可在新窗口打开查看

请教老师,我如何设置这些单元格是否可以编辑?
[此贴子已经被作者于2020/6/1 17:01:28编辑过]

--  作者:有点蓝
--  发布时间:2020/6/1 17:19:00
--  
到PrepareEdit事件处理:http://www.foxtable.com/webhelp/topics/0605.htm


--  作者:libo8284
--  发布时间:2020/6/1 17:21:00
--  
谢谢老师,我试一下
--  作者:libo8284
--  发布时间:2020/6/1 17:27:00
--  
但是,我想了一下prepareedit可能不太适用,原因:
1)“工作安排表”里的“周一工时”到“周日工时”,显示的数据是随机的,可能是本周,也可能是几个月以前的某一周的数据

2)因为显示的数据随机,所以,我不知道如何根据“工时填报表”里的“_Locked”数据来进行判断。

3)日期选择,是在窗口的控件里。我在窗口里,能否进行类似“prepareedit”的操作?
谢谢老师
[此贴子已经被作者于2020/6/1 17:28:42编辑过]

--  作者:有点蓝
--  发布时间:2020/6/1 17:30:00
--  
1、任何数据都可以控制
2、一样可以判断“_Locked”数据
3、可以

--  作者:libo8284
--  发布时间:2020/6/1 17:35:00
--  
谢谢老师,能否指点一下如何在窗口里进行类似“prepareedit”操作?或者发一些参考的帖子,我去学习一下


[此贴子已经被作者于2020/6/1 17:42:16编辑过]

--  作者:有点蓝
--  发布时间:2020/6/1 19:59:00
--  
如果是副本,到主表事件处理;如果是sqltable,sqlquery,到窗口的表事件处理;如果设置了fill、DataSource,到全局表事件处理
--  作者:libo8284
--  发布时间:2020/6/1 20:11:00
--  
谢谢老师,我去试一下
--  作者:libo8284
--  发布时间:2020/6/1 22:56:00
--  
感谢老师指点,解决了。
设置了一个var变量,用于记录选择的日期,然后在prepareedit事件中查询并设置是否可以编辑。